Skip to content

Commit 862bd14

Browse files
committed
[add] 添加亲和性调度
1 parent 01df401 commit 862bd14

7 files changed

+410
-112
lines changed

SUMMARY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,4 @@
7777

7878
### 调度器
7979
* [Kubernetes 调度器介绍](docs/50.Kubernetes调度策略.md)
80-
* [Kubernetes 亲和性调度](docs/51.Kubernetes亲和性调度.md)
80+
* [Kubernetes 亲和性调度](docs/51.Kubernetes亲和性调度.md)

book.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@
6666
"bookmark": "favicon.ico"
6767
},
6868
"3-ba": {
69-
"token": "98a42f33a08c40eef600d39d605ab818"
69+
"token": "d611849735f187dd788dc054908f7d7a"
7070
},
7171
"ga": {
72-
"token": "UA-69668147-7"
72+
"token": "UA-69668147-3"
7373
}
7474
}
7575
}

docs/51.Kubernetes亲和性调度.md

+294-109
Large diffs are not rendered by default.

scheduler/node-affinity-demo.yaml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
apiVersion: apps/v1beta1
2+
kind: Deployment
3+
metadata:
4+
name: affinity
5+
labels:
6+
app: affinity
7+
spec:
8+
replicas: 3
9+
revisionHistoryLimit: 10
10+
template:
11+
metadata:
12+
labels:
13+
app: affinity
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.7.9
18+
ports:
19+
- name: http
20+
containerPort: 80
21+
affinity:
22+
nodeAffinity:
23+
requiredDuringSchedulingIgnoredDuringExecution:
24+
nodeSelectorTerms:
25+
- matchExpressions:
26+
- key: kubernetes.io/hostname
27+
operator: NotIn
28+
values:
29+
- node03
30+
preferredDuringSchedulingIgnoredDuringExecution:
31+
- weight: 1
32+
preference:
33+
matchExpressions:
34+
- key: com
35+
operator: In
36+
values:
37+
- youdianzhishi
38+

scheduler/node-selector-demo.yaml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
labels:
5+
app: busybox-pod
6+
name: test-busybox
7+
spec:
8+
containers:
9+
- command:
10+
- sleep
11+
- "3600"
12+
image: busybox
13+
name: test-busybox
14+
nodeSelector:
15+
com: youdianzhishi

scheduler/pod-affinity-demo.yaml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: apps/v1beta1
2+
kind: Deployment
3+
metadata:
4+
name: affinity
5+
labels:
6+
app: affinity
7+
spec:
8+
replicas: 3
9+
revisionHistoryLimit: 10
10+
template:
11+
metadata:
12+
labels:
13+
app: affinity
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.7.9
18+
ports:
19+
- name: http
20+
containerPort: 80
21+
affinity:
22+
podAffinity:
23+
requiredDuringSchedulingIgnoredDuringExecution:
24+
- labelSelector:
25+
matchExpressions:
26+
- key: app
27+
operator: In
28+
values:
29+
- busybox-pod
30+
topologyKey: kubernetes.io/hostname

scheduler/pod-antiaffinity-demo.yaml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apiVersion: apps/v1beta1
2+
kind: Deployment
3+
metadata:
4+
name: affinity
5+
labels:
6+
app: affinity
7+
spec:
8+
replicas: 3
9+
revisionHistoryLimit: 10
10+
template:
11+
metadata:
12+
labels:
13+
app: affinity
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx:1.7.9
18+
ports:
19+
- name: http
20+
containerPort: 80
21+
affinity:
22+
podAntiAffinity:
23+
requiredDuringSchedulingIgnoredDuringExecution:
24+
- labelSelector:
25+
matchExpressions:
26+
- key: app
27+
operator: In
28+
values:
29+
- busybox-pod
30+
topologyKey: kubernetes.io/hostname

0 commit comments

Comments
 (0)