diff --git a/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md b/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md index 13931ab1ea..07323e72dd 100644 --- a/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md +++ b/docs/concepts/cluster-administration/authenticate-across-clusters-kubeconfig.md @@ -20,7 +20,7 @@ Multiple kubeconfig files are allowed, if specified explicitly. At runtime they ## Related discussion -http://issue.k8s.io/1755 +[http://issue.k8s.io/1755](http://issue.k8s.io/1755) ## Components of a kubeconfig file @@ -228,7 +228,7 @@ Any path in a kubeconfig file is resolved relative to the location of the kubeco ## Manipulation of kubeconfig via `kubectl config ` In order to more easily manipulate kubeconfig files, there are a series of subcommands to `kubectl config` to help. -See [kubectl/kubectl_config.md](/docs/user-guide/kubectl/kubectl_config) for help. +See [kubectl/kubectl_config](/docs/user-guide/kubectl/kubectl_config) for help. ### Example diff --git a/docs/concepts/cluster-administration/federation-service-discovery.md b/docs/concepts/cluster-administration/federation-service-discovery.md index 12347f412f..c283d7e251 100644 --- a/docs/concepts/cluster-administration/federation-service-discovery.md +++ b/docs/concepts/cluster-administration/federation-service-discovery.md @@ -111,7 +111,7 @@ Namespace: default Labels: run=nginx Selector: run=nginx Type: LoadBalancer -IP: +IP: 10.63.250.98 LoadBalancer Ingress: 104.197.246.190, 130.211.57.243, 104.196.14.231, 104.199.136.89, ... Port: http 80/TCP Endpoints: diff --git a/docs/concepts/configuration/overview.md b/docs/concepts/configuration/overview.md index 2d3a2103ad..499f81affc 100644 --- a/docs/concepts/configuration/overview.md +++ b/docs/concepts/configuration/overview.md @@ -33,7 +33,7 @@ This document is meant to highlight and consolidate in one place configuration b event of node failure. Replication controllers are almost always preferable to creating pods, except for some explicit - [`restartPolicy: Never`](/docs/user-guide/pod-states/#restartpolicy) scenarios. A + [`restartPolicy: Never`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy) scenarios. A [Job](/docs/concepts/jobs/run-to-completion-finite-workloads/) object (currently in Beta), may also be appropriate. @@ -82,7 +82,7 @@ This document is meant to highlight and consolidate in one place configuration b controller 'version names'. A desired state of an object is described by a Deployment, and if changes to that spec are _applied_, the deployment controller changes the actual state to the desired state at a controlled rate. (Deployment objects are currently part of the [`extensions` - API Group](/docs/api/#api-groups).) + API Group](/docs/concepts/overview/kubernetes-api/#api-groups).) - You can manipulate labels for debugging. Because Kubernetes replication controllers and services match to pods using labels, this allows you to remove a pod from being considered by a diff --git a/docs/concepts/containers/container-lifecycle-hooks.md b/docs/concepts/containers/container-lifecycle-hooks.md index 3d2edac09f..a4df1a837a 100644 --- a/docs/concepts/containers/container-lifecycle-hooks.md +++ b/docs/concepts/containers/container-lifecycle-hooks.md @@ -25,7 +25,7 @@ There are two types of information that are available within the container envir Currently, the Pod name for the pod in which the container is running is set as the hostname of the container, and is accessible through all calls to access the hostname within the container (e.g. the hostname command, or the [gethostname][1] function call in libc), but this is planned to change in the future and should not be used. -The Pod name and namespace are also available as environment variables via the [downward API](/docs/user-guide/downward-api). Additionally, user-defined environment variables from the pod definition, are also available to the container, as are any environment variables specified statically in the Docker image. +The Pod name and namespace are also available as environment variables via [the downward API](/docs/tasks/configure-pod-container/downward-api-volume-expose-pod-information/#the-downward-api). Additionally, user-defined environment variables from the pod definition, are also available to the container, as are any environment variables specified statically in the Docker image. In the future, we anticipate expanding this information with richer information about the container.  Examples include available memory, number of restarts, and in general any state that you could get from the call to GET /pods on the API server. @@ -102,4 +102,4 @@ Events: 37s 37s 1 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Normal Killing Killing container with docker id 8df9fdfd7054: PostStart handler: Error executing in Docker Container: 1 38s 37s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "main" with RunContainerError: "PostStart handler: Error executing in Docker Container: 1" 1m 22s 2 {kubelet gke-test-cluster-default-pool-a07e5d30-siqd} spec.containers{main} Warning FailedPostStartHook -``` \ No newline at end of file +``` diff --git a/docs/concepts/index.md b/docs/concepts/index.md index dd241d15a6..50c8f5bb26 100644 --- a/docs/concepts/index.md +++ b/docs/concepts/index.md @@ -53,7 +53,7 @@ The nodes in a cluster are the machines (VMs, physical servers, etc) that run yo #### Object Metadata -* [Annotations](/docs/concepts/object-metadata/annotations/) +* [Annotations](/docs/concepts/overview/working-with-objects/annotations/) ### What's next diff --git a/docs/concepts/jobs/run-to-completion-finite-workloads.md b/docs/concepts/jobs/run-to-completion-finite-workloads.md index 35ba3cf210..341b0927a9 100644 --- a/docs/concepts/jobs/run-to-completion-finite-workloads.md +++ b/docs/concepts/jobs/run-to-completion-finite-workloads.md @@ -100,7 +100,7 @@ the same schema as a [pod](/docs/user-guide/pods), except it is nested and does In addition to required fields for a Pod, a pod template in a job must specify appropriate labels (see [pod selector](#pod-selector)) and an appropriate restart policy. -Only a [`RestartPolicy`](/docs/user-guide/pod-states/#restartpolicy) equal to `Never` or `OnFailure` is allowed. +Only a [`RestartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy) equal to `Never` or `OnFailure` is allowed. ### Pod Selector @@ -261,7 +261,7 @@ The pattern names are also links to examples and more detailed description. | Pattern | Single Job object | Fewer pods than work items? | Use app unmodified? | Works in Kube 1.1? | | -------------------------------------------------------------------- |:-----------------:|:---------------------------:|:-------------------:|:-------------------:| -| [Job Template Expansion](/docs/user-guide/jobs/expansions) | | | ✓ | ✓ | +| [Job Template Expansion](/docs/tasks/job/parallel-processing-expansion/) | | | ✓ | ✓ | | [Queue with Pod Per Work Item](/docs/tasks/job/coarse-parallel-processing-work-queue/) | ✓ | | sometimes | ✓ | | [Queue with Variable Pod Count](/docs/tasks/job/fine-parallel-processing-work-queue/) | ✓ | ✓ | | ✓ | | Single Job with Static Work Assignment | ✓ | | ✓ | | @@ -363,7 +363,7 @@ Jobs are complementary to [Replication Controllers](/docs/user-guide/replication A Replication Controller manages pods which are not expected to terminate (e.g. web servers), and a Job manages pods that are expected to terminate (e.g. batch jobs). -As discussed in [life of a pod](/docs/user-guide/pod-states), `Job` is *only* appropriate for pods with +As discussed in [Pod Lifecycle](/docs/concepts/workloads/pods/pod-lifecycle/), `Job` is *only* appropriate for pods with `RestartPolicy` equal to `OnFailure` or `Never`. (Note: If `RestartPolicy` is not set, the default value is `Always`.) diff --git a/docs/concepts/overview/what-is-kubernetes.md b/docs/concepts/overview/what-is-kubernetes.md index 0c71b6caea..1270fc4d22 100644 --- a/docs/concepts/overview/what-is-kubernetes.md +++ b/docs/concepts/overview/what-is-kubernetes.md @@ -106,7 +106,7 @@ Kubernetes is not a traditional, all-inclusive PaaS (Platform as a Service) syst * Kubernetes does not provide nor mandate a comprehensive application configuration language/system (e.g., [jsonnet](https://github.com/google/jsonnet)). * Kubernetes does not provide nor adopt any comprehensive machine configuration, maintenance, management, or self-healing systems. -On the other hand, a number of PaaS systems run *on* Kubernetes, such as [Openshift](https://github.com/openshift/origin), [Deis](http://deis.io/), and [Eldarion](http://eldarion.cloud/). You could also roll your own custom PaaS, integrate with a CI system of your choice, or get along just fine with just Kubernetes: bring your container images and deploy them on Kubernetes. +On the other hand, a number of PaaS systems run *on* Kubernetes, such as [Openshift](https://www.openshift.org/), [Deis](http://deis.io/), and [Eldarion](http://eldarion.cloud/). You could also roll your own custom PaaS, integrate with a CI system of your choice, or get along just fine with just Kubernetes: bring your container images and deploy them on Kubernetes. Since Kubernetes operates at the application level rather than at just the hardware level, it provides some generally applicable features common to PaaS offerings, such as deployment, scaling, load balancing, logging, monitoring, etc. However, Kubernetes is not monolithic, and these default solutions are optional and pluggable. diff --git a/docs/concepts/services-networking/connect-applications-service.md b/docs/concepts/services-networking/connect-applications-service.md index ec7fae4b75..c7351e8f87 100644 --- a/docs/concepts/services-networking/connect-applications-service.md +++ b/docs/concepts/services-networking/connect-applications-service.md @@ -30,9 +30,9 @@ user ```shell $ kubectl create -f ./run-my-nginx.yaml $ kubectl get pods -l run=my-nginx -o wide -NAME READY STATUS RESTARTS AGE NODE -my-nginx-3800858182-jr4a2 1/1 Running 0 13s kubernetes-minion-905m -my-nginx-3800858182-kna2y 1/1 Running 0 13s kubernetes-minion-ljyd +NAME READY STATUS RESTARTS AGE IP NODE +my-nginx-3800858182-jr4a2 1/1 Running 0 13s 10.244.3.4 kubernetes-minion-905m +my-nginx-3800858182-kna2y 1/1 Running 0 13s 10.244.2.5 kubernetes-minion-ljyd ``` Check your pods' IPs: @@ -45,7 +45,7 @@ $ kubectl get pods -l run=my-nginx -o yaml | grep podIP You should be able to ssh into any node in your cluster and curl both IPs. Note that the containers are *not* using port 80 on the node, nor are there any special NAT rules to route traffic to the pod. This means you can run multiple nginx pods on the same node all using the same containerPort and access them from any other pod or node in your cluster using IP. Like Docker, ports can still be published to the host node's interfaces, but the need for this is radically diminished because of the networking model. -You can read more about [how we achieve this](/docs/admin/networking/#how-to-achieve-this) if you're curious. +You can read more about [how we achieve this](/docs/concepts/cluster-administration/networking/#how-to-achieve-this) if you're curious. ## Creating a Service @@ -176,9 +176,9 @@ $ make keys secret KEY=/tmp/nginx.key CERT=/tmp/nginx.crt SECRET=/tmp/secret.jso $ kubectl create -f /tmp/secret.json secret "nginxsecret" created $ kubectl get secrets -NAME TYPE DATA -default-token-il9rc kubernetes.io/service-account-token 1 -nginxsecret Opaque 2 +NAME TYPE DATA AGE +default-token-il9rc kubernetes.io/service-account-token 1 1d +nginxsecret Opaque 2 1m ``` Now modify your nginx replicas to start an https server using the certificate in the secret, and the Service, to expose both ports (80 and 443): @@ -293,7 +293,7 @@ LoadBalancer Ingress: a320587ffd19711e5a37606cf4a74574-1142138393.us-east-1.el Kubernetes also supports Federated Services, which can span multiple clusters and cloud providers, to provide increased availability, better fault tolerance and greater scalability for your services. See -the [Federated Services User Guide](/docs/user-guide/federation/federated-services/) +the [Federated Services User Guide](/docs/concepts/cluster-administration/federation-service-discovery/) for further information. ## What's next? diff --git a/docs/concepts/services-networking/dns-pod-service.md b/docs/concepts/services-networking/dns-pod-service.md index ada734830d..770df3026e 100644 --- a/docs/concepts/services-networking/dns-pod-service.md +++ b/docs/concepts/services-networking/dns-pod-service.md @@ -48,7 +48,7 @@ selection from the set. ### SRV records SRV Records are created for named ports that are part of normal or [Headless -Services](http://releases.k8s.io/docs/user-guide/services/#headless-services). +Services](https://kubernetes.io/docs/user-guide/services/#headless-services). For each named port, the SRV record would have the form `_my-port-name._my-port-protocol.my-svc.my-namespace.svc.cluster.local`. For a regular service, this resolves to the port number and the CNAME: @@ -304,7 +304,7 @@ kube-dns 10.0.0.10 53/UDP,53/TCP 1h ... ``` -If you have created the service or in the case it should be created by default but it does not appear, see this [debugging services page](http://kubernetes.io/docs/user-guide/debugging-services/) for more information. +If you have created the service or in the case it should be created by default but it does not appear, see this [debugging services page](/docs/user-guide/debugging-services/) for more information. #### Are DNS endpoints exposed? @@ -320,7 +320,7 @@ NAME ENDPOINTS AGE kube-dns 10.180.3.17:53,10.180.3.17:53 1h ``` -If you do not see the endpoints, see endpoints section in the [debugging services documentation](http://kubernetes.io/docs/user-guide/debugging-services/). +If you do not see the endpoints, see endpoints section in the [debugging services documentation](/docs/user-guide/debugging-services/). For additional Kubernetes DNS examples, see the [cluster-dns examples](https://github.com/kubernetes/kubernetes/tree/master/examples/cluster-dns) in the Kubernetes GitHub repository. @@ -331,7 +331,7 @@ Kubernetes installations. This required some minor (backward-compatible) changes to the way the Kubernetes cluster DNS server processes DNS queries, to facilitate the lookup of federated services (which span multiple Kubernetes clusters). -See the [Cluster Federation Administrators' Guide](/docs/admin/federation) for more +See the [Cluster Federation Administrators' Guide](/docs/concepts/cluster-administration/federation/) for more details on Cluster Federation and multi-site support. ## How it Works diff --git a/docs/concepts/storage/volumes.md b/docs/concepts/storage/volumes.md index 925401c813..dcd3f1750f 100644 --- a/docs/concepts/storage/volumes.md +++ b/docs/concepts/storage/volumes.md @@ -172,26 +172,6 @@ spec: path: /data ``` -#### Example pod - -```yaml -apiVersion: v1 -kind: Pod -metadata: - name: test-hostpath -spec: - containers: - - image: myimage - name: test-container - volumeMounts: - - mountPath: /test-hostpath - name: test-volume - volumes: - - name: test-volume - hostPath: - path: /path/to/my/dir -``` - ### gcePersistentDisk A `gcePersistentDisk` volume mounts a Google Compute Engine (GCE) [Persistent diff --git a/docs/getting-started-guides/index.md b/docs/getting-started-guides/index.md index 2d3d18cd57..ce19a8df30 100644 --- a/docs/getting-started-guides/index.md +++ b/docs/getting-started-guides/index.md @@ -31,7 +31,7 @@ a Kubernetes cluster from scratch. Use the [Minikube getting started guide](/docs/getting-started-guides/minikube/) to try it out. -[Ubuntu on LXD](/docs/getting-started-guides/ubuntu/local) - Ubuntu supports a 9-instance deployment on localhost via LXD. +[Ubuntu on LXD](/docs/getting-started-guides/ubuntu/local) - Ubuntu supports a 9-instance deployment on localhost via LXD. ### Hosted Solutions @@ -97,7 +97,7 @@ These solutions are combinations of cloud provider and OS not covered by the abo - [Vmware Photon Controller](/docs/getting-started-guides/photon-controller) (uses Debian) - [Vmware vSphere, OpenStack, or Bare Metal](/docs/getting-started-guides/ubuntu/) (uses Juju, Ubuntu and flannel) - [Vmware](/docs/getting-started-guides/coreos) (uses CoreOS and flannel) -- [libvirt-coreos.md](/docs/getting-started-guides/libvirt-coreos) (uses CoreOS) +- [libvirt-coreos](/docs/getting-started-guides/libvirt-coreos) (uses CoreOS) - [oVirt](/docs/getting-started-guides/ovirt) - [OpenStack Heat](/docs/getting-started-guides/openstack-heat) (uses CentOS and flannel) - [libvirt](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) (uses Fedora and flannel) @@ -106,7 +106,7 @@ These solutions are combinations of cloud provider and OS not covered by the abo #### Bare Metal - [Offline](/docs/getting-started-guides/coreos/bare_metal_offline) (no internet required. Uses CoreOS and Flannel) -- [fedora/fedora_ansible_config.md](/docs/getting-started-guides/fedora/fedora_ansible_config) +- [fedora/fedora_ansible_config](/docs/getting-started-guides/fedora/fedora_ansible_config) - [Fedora single node](/docs/getting-started-guides/fedora/fedora_manual_config) - [Fedora multi node](/docs/getting-started-guides/fedora/flannel_multi_node_cluster) - [Centos](/docs/getting-started-guides/centos/centos_manual_config) diff --git a/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md b/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md index 3d80cc77b2..b3fcd31a3a 100644 --- a/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md +++ b/docs/tasks/administer-cluster/dns-horizontal-autoscaling.md @@ -225,7 +225,7 @@ a future development. The current implementation, which uses the number of nodes and cores in cluster, is limited. Support for custom metrics, similar to that provided by -[Horizontal Pod Autoscaling](http://kubernetes.io/docs/user-guide/horizontal-pod-autoscaling/), +[Horizontal Pod Autoscaling](/docs/user-guide/horizontal-pod-autoscaling/), is under consideration as a future development. {% endcapture %} diff --git a/docs/user-guide/docker-cli-to-kubectl.md b/docs/user-guide/docker-cli-to-kubectl.md index b3fcf31a7c..ed11f0fb10 100644 --- a/docs/user-guide/docker-cli-to-kubectl.md +++ b/docs/user-guide/docker-cli-to-kubectl.md @@ -141,7 +141,7 @@ $ kubectl exec -ti nginx-app-5jyvm -- /bin/sh # exit ``` -For more information see [Getting into containers](/docs/user-guide/getting-into-containers). +For more information see [Getting a Shell to a Running Container](/docs/tasks/kubectl/get-shell-running-container/). #### docker logs @@ -172,7 +172,7 @@ $ kubectl logs --previous nginx-app-zibvs 10.240.63.110 - - [14/Jul/2015:01:09:02 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.26.0" "-" ``` -See [Logging Overview](/docs/user-guide/logging/overview) for more information. +See [Logging and Monitoring Cluster Activity](/docs/concepts/cluster-administration/logging/) for more information. #### docker stop and docker rm diff --git a/docs/user-guide/services/index.md b/docs/user-guide/services/index.md index cd9303bd33..eb07299b35 100644 --- a/docs/user-guide/services/index.md +++ b/docs/user-guide/services/index.md @@ -19,7 +19,7 @@ Enter `Services`. A Kubernetes `Service` is an abstraction which defines a logical set of `Pods` and a policy by which to access them - sometimes called a micro-service. The set of `Pods` targeted by a `Service` is (usually) determined by a [`Label -Selector`](/docs/user-guide/labels/#label-selectors) (see below for why you might want a +Selector`](/docs/concepts/overview/working-with-objects/labels/#label-selectors) (see below for why you might want a `Service` without a selector). As an example, consider an image-processing backend which is running with 3 @@ -226,7 +226,7 @@ knowing anything about Kubernetes or `Services` or `Pods`. This should be faster and more reliable than the userspace proxy. However, unlike the userspace proxier, the iptables proxier cannot automatically retry another `Pod` if the one it initially selects does not respond, so it depends on -having working [readiness probes](/docs/user-guide/production-pods/#liveness-and-readiness-probes-aka-health-checks). +having working [readiness probes](/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#defining-readiness-probes). ![Services overview diagram for iptables proxy](/images/docs/services-iptables-overview.svg) @@ -345,7 +345,7 @@ can do a DNS SRV query for `"_http._tcp.my-service.my-ns"` to discover the port number for `"http"`. The Kubernetes DNS server is the only way to access services of type -`ExternalName`. More information is available in the [DNS Admin Guide](http://kubernetes.io/docs/admin/dns/). +`ExternalName`. More information is available in the [DNS Pods and Services](/docs/concepts/services-networking/dns-pod-service/). ## Headless services @@ -661,4 +661,4 @@ object](/docs/api-reference/v1/definitions/#_v1_service). ## For More Information -Read [Service Operations](/docs/user-guide/services/operations/). +Read [Connecting a Front End to a Back End Using a Service](/docs/tutorials/connecting-apps/connecting-frontend-backend/).