Skip to content

Commit

Permalink
Update node.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ddysher committed Jan 26, 2015
1 parent 4c2d554 commit 04ed23a
Showing 1 changed file with 46 additions and 3 deletions.
49 changes: 46 additions & 3 deletions docs/node.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,52 @@ doc for more details.

## Node Status

Node Status is still under development. See:
[#2164](https://github.com/GoogleCloudPlatform/kubernetes/issues/2164),
[#2315](https://github.com/GoogleCloudPlatform/kubernetes/pull/2315).
Node status describes current status of a node. For now, there are three
pieces of information:

### HostIP

Host IP address is queried from cloudprovider and stored as part of node
status. If kubernetes runs without cloudprovider, node's ID will be used.
IP address can change, and there are different kind of IPs, e.g. public
IP, private IP, dynamic IP, ipv6, etc. It makes more sense to save it as
a status rather than spec.

### Node Phase

Node Phase is the current lifecycle phase of node, one of `Pending`,
`Running` and `Terminated`. Node Phase management is under development,
here is a brief overview: In kubernetes, node will be created in `Pending`
phase, until it is discovered and checked in by kubernetes, at which time,
kubernetes will mark it as `Running`. The end of a node's lifecycle is
`Terminated`. A terminated node will not receive any scheduling request,
and any running pods will be removed from the node.

Node with `Running` phase is necessary but not sufficient requirement for
scheduling Pods. For a node to be considered a scheduling candidate, it
must have appropriate conditions, see below.

### Node Condition
Node Condition describes the conditions of `Running` nodes. Current valid
conditions are `NodeReachable` and `NodeReady`. In the future, we plan to
add more. `NodeReachable` means the node can be reached within the cluster.
`NodeReady` means the kubelet returns StatusOK for HTTP health check. Different
condition provides different level of understanding for node health. Kubernetes
will make a comprehensive scheduling decision based on the information. Node
condition is represented as a json object. For example, the following conditions
mean the node is reachable from its cluster, but not ready to accept pods:
```json
"conditions": [
{
"kind": "Reachable",
"status": "Full",
},
{
"kind": "Ready",
"status": "None",
}
]
```

## Node Management

Expand Down

0 comments on commit 04ed23a

Please sign in to comment.