Skip to content
This repository was archived by the owner on May 22, 2020. It is now read-only.

Commit f33b50a

Browse files
authored
Merge pull request #451 from medinatiger/dev
Add more information to the landing page
2 parents 9472e03 + 00ff0a4 commit f33b50a

File tree

4 files changed

+74
-3
lines changed

4 files changed

+74
-3
lines changed

cluster-api/README.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,23 @@
1-
Note that cluster-api effort is still in the prototype stage. All the code here is for experimental and demo-purpose, and under rapid change.
1+
## What is cluster-api
22

3-
### How to build
3+
It's a declarative way to create, configure, and manage a cluster. It provides an optional, additive functionality on
4+
top of core Kubernetes.
5+
6+
Note that cluster-api effort is still in the prototype stage. All the code here is for experimental and demo-purpose,
7+
and under rapid change.
8+
9+
## How is it implemented
10+
We use custom resource type (CRD) to model new machine and cluster object. Just like other resources in kubernetes,
11+
a [machine controller](machine-controller/README.md) is running as regular pod to reconcile the actual machine state vs desired state.
12+
13+
## How to run
14+
### Prerequisite
15+
16+
* `kubectl` is required, see [here](http://kubernetes.io/docs/user-guide/prereqs/).
17+
* `Google Cloud SDK` is installed if you are creating cluster on GCP, see [here](https://cloud.google.com/sdk/downloads).
18+
* You need to have an account on Google Cloud Platform which have enough quota for the resource.
419

20+
### How to build
521
```bash
622
$ cd $GOPATH/src/k8s.io/
723
$ git clone [email protected]:kubernetes/kube-deploy.git
@@ -10,10 +26,19 @@ $ go build
1026
```
1127

1228
### How to run
29+
1330
1) Follow steps mentioned above and build cluster-api.
1431
2) Update cluster.yaml with cluster name.
1532
3) Update machines.yaml with google cloud project name.
1633
4) Run `gcloud auth application-default login` to get default credentials.
1734
5) Create cluster: `./cluster-api create -c cluster.yaml -m machines.yaml`
1835
6) Add new nodes: update new-machines.yaml with cloud project name and run `./cluster-api add -m new-machines.yaml`
19-
7) Delete cluster: `./cluster-api delete`
36+
7) Delete cluster: `./cluster-api delete`
37+
38+
### How to use the API
39+
40+
To see how we can use API to build toolings on top of cluster API, please check out a few examples below.
41+
42+
* [Upgrade](upgrader/README.md)
43+
* [Repair](repair/README.md)
44+
* [Scaling](examples/machineset/README.md)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Machineset
2+
Machineset is client side implementation for machine set concept. It allows scale up/down the nodes in the cluster.
3+
4+
## Build
5+
6+
```bash
7+
$ cd $GOPATH/src/k8s.io/
8+
$ git clone [email protected]:kubernetes/kube-deploy.git
9+
$ cd kube-deploy/cluster-api/examples/machineset
10+
$ go build
11+
```
12+
13+
## Run
14+
1) Spin up a cluster using cluster-api
15+
2) To scale up or down the nodes to N, run `./machineset scale set=node --replicas N`

cluster-api/repair/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Cluster Repair
2+
Cluster repair is an standalone tool to repair the problematic nodes in the cluster
3+
4+
## Build
5+
6+
```bash
7+
$ cd $GOPATH/src/k8s.io/
8+
$ git clone [email protected]:kubernetes/kube-deploy.git
9+
$ cd kube-deploy/cluster-api/repair
10+
$ go build
11+
```
12+
13+
## Run
14+
1) Spin up a cluster using cluster-api
15+
2) To repair the nodes in cluster, run `./repair`
16+
3) To do a dryrun to see what will happen, run `./repair --dryrun true`

cluster-api/upgrader/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Cluster Upgrader
2+
Cluster upgrader is an standalone tool to upgrade the entire cluster including the control plan and nodes. It will only exercise cluster api w/o any cloud-specific logic.
3+
4+
## Build
5+
6+
```bash
7+
$ cd $GOPATH/src/k8s.io/
8+
$ git clone [email protected]:kubernetes/kube-deploy.git
9+
$ cd kube-deploy/cluster-api/upgrader
10+
$ go build
11+
```
12+
13+
## Run
14+
1) Spin up a cluster using cluster-api (the default version should be 1.7.4)
15+
2) To update the entire cluster to v1.8.3, run `./upgrader -v 1.8.3`

0 commit comments

Comments
 (0)