Skip to content

Commit 221233e

Browse files
committed
Add Documentation skeleton + bootkube doc
1 parent 4811b7a commit 221233e

File tree

2 files changed

+93
-0
lines changed

2 files changed

+93
-0
lines changed

Documentation/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Kube-router Documentation
2+
3+
## Getting Started
4+
5+
- [General Setup](/README.md#getting-started)
6+
- [Bootkube Deployment](bootkube.md)

Documentation/bootkube.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Bootkube Integration
2+
3+
The following instructions and examples demonstrate how to create a new
4+
[Bootkube](https://github.com/kubernetes-incubator/bootkube) provisioned
5+
Kubernetes cluster using kube-router in place of kube-proxy and flannel.
6+
7+
## Asset Creation
8+
9+
Follow the
10+
[documentation](https://github.com/kubernetes-incubator/bootkube#guides) for
11+
your environment and setup arguments for `bootkube render`.
12+
13+
For example:
14+
```
15+
bootkube render --asset-dir=${PWD}/assets --api-servers=https://kube-api-dev.zbrbdl:443 --api-server-alt-names=DNS=kube-api-dev.zbrbdl --etcd-servers="http://127.0.0.1:2379"
16+
Writing asset: /home/bzub/assets/manifests/kube-scheduler.yaml
17+
Writing asset: /home/bzub/assets/manifests/kube-scheduler-disruption.yaml
18+
Writing asset: /home/bzub/assets/manifests/kube-controller-manager-disruption.yaml
19+
Writing asset: /home/bzub/assets/manifests/kube-dns-deployment.yaml
20+
Writing asset: /home/bzub/assets/manifests/pod-checkpointer.yaml
21+
Writing asset: /home/bzub/assets/manifests/kube-flannel.yaml
22+
Writing asset: /home/bzub/assets/manifests/kube-system-rbac-role-binding.yaml
23+
Writing asset: /home/bzub/assets/manifests/kube-controller-manager.yaml
24+
Writing asset: /home/bzub/assets/manifests/kube-apiserver.yaml
25+
Writing asset: /home/bzub/assets/manifests/kube-proxy.yaml
26+
Writing asset: /home/bzub/assets/manifests/kube-flannel-cfg.yaml
27+
Writing asset: /home/bzub/assets/manifests/kube-dns-svc.yaml
28+
Writing asset: /home/bzub/assets/bootstrap-manifests/bootstrap-apiserver.yaml
29+
Writing asset: /home/bzub/assets/bootstrap-manifests/bootstrap-controller-manager.yaml
30+
Writing asset: /home/bzub/assets/bootstrap-manifests/bootstrap-scheduler.yaml
31+
Writing asset: /home/bzub/assets/tls/ca.key
32+
Writing asset: /home/bzub/assets/tls/ca.crt
33+
Writing asset: /home/bzub/assets/tls/apiserver.key
34+
Writing asset: /home/bzub/assets/tls/apiserver.crt
35+
Writing asset: /home/bzub/assets/tls/service-account.key
36+
Writing asset: /home/bzub/assets/tls/service-account.pub
37+
Writing asset: /home/bzub/assets/tls/kubelet.key
38+
Writing asset: /home/bzub/assets/tls/kubelet.crt
39+
Writing asset: /home/bzub/assets/auth/kubeconfig
40+
Writing asset: /home/bzub/assets/manifests/kube-apiserver-secret.yaml
41+
Writing asset: /home/bzub/assets/manifests/kube-controller-manager-secret.yaml
42+
```
43+
44+
## Kube-router Installation
45+
46+
Next move/delete the manifests for kube-proxy and flannel from
47+
`assets/manifests` and replace them with the
48+
[kube-router.yaml](/contrib/bootkube/kube-router.yaml) and
49+
[kube-router-cfg.yaml](/contrib/bootkube/kube-router-cfg.yaml) files provided in
50+
this repo.
51+
```
52+
rm assets/manifests/kube-flannel{,-cfg}.yaml assets/manifests/kube-proxy.yaml
53+
curl -L https://raw.githubusercontent.com/cloudnativelabs/kube-router/bootkube/contrib/bootkube/kube-router-cfg.yaml -o assets/manifests/kube-router-cfg.yaml
54+
curl -L https://raw.githubusercontent.com/cloudnativelabs/kube-router/bootkube/contrib/bootkube/kube-router.yaml -o assets/manifests/kube-router.yaml
55+
```
56+
57+
## Cluster Startup
58+
59+
Finally, proceed by following the Bootkube documentation, which generally
60+
involves starting Kubelet and running `bootkube start` referring to your assets
61+
directory on a new Kubernetes node.
62+
63+
After starting multiple master nodes, our example cluster looks like this:
64+
```
65+
$ kubectl -n kube-system get pods,services
66+
NAME READY STATUS RESTARTS AGE IP NODE
67+
po/kube-apiserver-gztjp 1/1 Running 0 15h 10.10.3.2 node2-dev.zbrbdl
68+
po/kube-apiserver-h55t7 1/1 Running 0 15h 10.10.3.3 node3-dev.zbrbdl
69+
po/kube-apiserver-qn5xm 1/1 Running 2 15h 10.10.3.1 node1-dev.zbrbdl
70+
po/kube-controller-manager-3052101514-kp121 1/1 Running 1 15h 10.2.0.5 node1-dev.zbrbdl
71+
po/kube-controller-manager-3052101514-n4q9p 1/1 Running 2 15h 10.2.0.6 node1-dev.zbrbdl
72+
po/kube-dns-2431531914-pr9lg 3/3 Running 0 15h 10.2.0.3 node1-dev.zbrbdl
73+
po/kube-router-ckdj1 1/1 Running 15 15h 10.10.3.3 node3-dev.zbrbdl
74+
po/kube-router-dcgbr 1/1 Running 15 15h 10.10.3.1 node1-dev.zbrbdl
75+
po/kube-router-n0vcn 1/1 Running 15 15h 10.10.3.2 node2-dev.zbrbdl
76+
po/kube-scheduler-2172662190-g4q3w 1/1 Running 4 15h 10.2.0.2 node1-dev.zbrbdl
77+
po/kube-scheduler-2172662190-hcq3t 1/1 Running 2 15h 10.2.0.4 node1-dev.zbrbdl
78+
po/pod-checkpointer-jlfsv 1/1 Running 0 15h 10.10.3.1 node1-dev.zbrbdl
79+
po/pod-checkpointer-jlfsv-node1-dev.zbrbdl 1/1 Running 0 15h 10.10.3.1 node1-dev.zbrbdl
80+
po/pod-checkpointer-lhckt 1/1 Running 0 15h 10.10.3.3 node3-dev.zbrbdl
81+
po/pod-checkpointer-lhckt-node3-dev.zbrbdl 1/1 Running 0 15h 10.10.3.3 node3-dev.zbrbdl
82+
po/pod-checkpointer-tsbkh 1/1 Running 0 15h 10.10.3.2 node2-dev.zbrbdl
83+
po/pod-checkpointer-tsbkh-node2-dev.zbrbdl 1/1 Running 0 15h 10.10.3.2 node2-dev.zbrbdl
84+
85+
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
86+
svc/kube-dns 10.3.0.10 <none> 53/UDP,53/TCP 15h k8s-app=kube-dns
87+
```

0 commit comments

Comments
 (0)