mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-05 19:21:37 +00:00
Design doc for clustering.
This is related to #2303 and steals from #2435.
This commit is contained in:
1
docs/design/clustering/.gitignore
vendored
Normal file
1
docs/design/clustering/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
DroidSansMono.ttf
|
16
docs/design/clustering/Makefile
Normal file
16
docs/design/clustering/Makefile
Normal file
@@ -0,0 +1,16 @@
|
||||
FONT := DroidSansMono.ttf
|
||||
|
||||
PNGS := $(patsubst %.seqdiag,%.png,$(wildcard *.seqdiag))
|
||||
|
||||
.PHONY: all
|
||||
all: $(PNGS)
|
||||
|
||||
.PHONY: watch
|
||||
watch:
|
||||
fswatch *.seqdiag | xargs -n 1 sh -c "make || true"
|
||||
|
||||
$(FONT):
|
||||
curl -sLo $@ https://googlefontdirectory.googlecode.com/hg/apache/droidsansmono/DroidSansMono.ttf
|
||||
|
||||
%.png: %.seqdiag $(FONT)
|
||||
seqdiag -a -f '$(FONT)' $<
|
9
docs/design/clustering/README.md
Normal file
9
docs/design/clustering/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
This directory contains diagrams for the clustering design doc.
|
||||
|
||||
This depends on the `seqdiag` [utility](http://blockdiag.com/en/seqdiag/index.html). Assuming you have a non-borked python install, this should be installable with
|
||||
|
||||
```bash
|
||||
pip install seqdiag
|
||||
```
|
||||
|
||||
Just call `make` to regenerate the diagrams.
|
BIN
docs/design/clustering/dynamic.png
Normal file
BIN
docs/design/clustering/dynamic.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
24
docs/design/clustering/dynamic.seqdiag
Normal file
24
docs/design/clustering/dynamic.seqdiag
Normal file
@@ -0,0 +1,24 @@
|
||||
seqdiag {
|
||||
activation = none;
|
||||
|
||||
|
||||
user[label = "Admin User"];
|
||||
bootstrap[label = "Bootstrap API\nEndpoint"];
|
||||
master;
|
||||
kubelet[stacked];
|
||||
|
||||
user -> bootstrap [label="createCluster", return="cluster ID"];
|
||||
user <-- bootstrap [label="returns\n- bootstrap-cluster-uri"];
|
||||
|
||||
user ->> master [label="start\n- bootstrap-cluster-uri"];
|
||||
master => bootstrap [label="setMaster\n- master-location\n- master-ca"];
|
||||
|
||||
user ->> kubelet [label="start\n- bootstrap-cluster-uri"];
|
||||
kubelet => bootstrap [label="get-master", return="returns\n- master-location\n- master-ca"];
|
||||
kubelet ->> master [label="signCert\n- unsigned-kubelet-cert", return="retuns\n- kubelet-cert"];
|
||||
user => master [label="getSignRequests"];
|
||||
user => master [label="approveSignRequests"];
|
||||
kubelet <<-- master [label="returns\n- kubelet-cert"];
|
||||
|
||||
kubelet => master [label="register\n- kubelet-location"]
|
||||
}
|
BIN
docs/design/clustering/static.png
Normal file
BIN
docs/design/clustering/static.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
16
docs/design/clustering/static.seqdiag
Normal file
16
docs/design/clustering/static.seqdiag
Normal file
@@ -0,0 +1,16 @@
|
||||
seqdiag {
|
||||
activation = none;
|
||||
|
||||
admin[label = "Manual Admin"];
|
||||
ca[label = "Manual CA"]
|
||||
master;
|
||||
kubelet[stacked];
|
||||
|
||||
admin => ca [label="create\n- master-cert"];
|
||||
admin ->> master [label="start\n- ca-root\n- master-cert"];
|
||||
|
||||
admin => ca [label="create\n- kubelet-cert"];
|
||||
admin ->> kubelet [label="start\n- ca-root\n- kubelet-cert\n- master-location"];
|
||||
|
||||
kubelet => master [label="register\n- kubelet-location"];
|
||||
}
|
Reference in New Issue
Block a user