Skip to content

Commit 73108f0

Browse files
committed
修改文档
1 parent 3927eaa commit 73108f0

24 files changed

+3084
-3
lines changed

apps/elasticsearch/elasticsearch.yaml

Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
---
2+
apiVersion: storage.k8s.io/v1
3+
kind: StorageClass
4+
metadata:
5+
name: example-kubernetes-app-es-storage
6+
provisioner: kubernetes.io/no-provisioner
7+
volumeBindingMode: WaitForFirstConsumer
8+
9+
---
10+
apiVersion: v1
11+
kind: PersistentVolume
12+
metadata:
13+
name: example-kubernetes-app-es-pv
14+
spec:
15+
capacity:
16+
storage: 2Gi
17+
volumeMode: Filesystem # Filesystem(文件系统) Block(块)
18+
accessModes:
19+
- ReadWriteOnce # 卷可以被一个节点以读写方式挂载
20+
persistentVolumeReclaimPolicy: Delete
21+
storageClassName: example-kubernetes-app-es-storage
22+
local:
23+
path: /Users/toquery/data/es-data
24+
nodeAffinity:
25+
required:
26+
# 通过 hostname 限定在某个节点创建存储卷
27+
nodeSelectorTerms:
28+
- matchExpressions:
29+
- key: kubernetes.io/hostname
30+
operator: In
31+
values:
32+
- docker-desktop
33+
34+
---
35+
apiVersion: v1
36+
kind: PersistentVolumeClaim
37+
metadata:
38+
name: example-kubernetes-app-es-pvc
39+
spec:
40+
accessModes:
41+
- ReadWriteOnce
42+
storageClassName: example-kubernetes-app-es-storage
43+
resources:
44+
requests:
45+
storage: 2Gi
46+
47+
---
48+
apiVersion: v1
49+
kind: ConfigMap
50+
metadata:
51+
name: example-kubernetes-app-es
52+
data:
53+
elasticsearch.yml: |
54+
cluster.name: "${NAMESPACE}"
55+
node.name: "${POD_NAME}"
56+
network.host: 0.0.0.0
57+
discovery.seed_hosts: "example-kubernetes-app-es"
58+
cluster.initial_master_nodes: "example-kubernetes-app-es-0,example-kubernetes-app-es-1,example-kubernetes-app-es-2"
59+
---
60+
# Elasticsearch deployment itself
61+
apiVersion: apps/v1
62+
kind: StatefulSet
63+
metadata:
64+
name: example-kubernetes-app-es
65+
labels:
66+
app: example-kubernetes-app-es
67+
kubernetes.io/cluster-service: "true"
68+
addonmanager.kubernetes.io/mode: Reconcile
69+
spec:
70+
serviceName: example-kubernetes-app-es
71+
replicas: 3
72+
selector:
73+
matchLabels:
74+
app: example-kubernetes-app-es
75+
template:
76+
metadata:
77+
labels:
78+
app: example-kubernetes-app-es
79+
kubernetes.io/cluster-service: "true"
80+
spec:
81+
serviceAccountName: example-kubernetes-app-es
82+
containers:
83+
- image: elasticsearch:7.16.3
84+
name: example-kubernetes-app-es
85+
resources:
86+
limits:
87+
cpu: '1'
88+
memory: 1Gi
89+
requests:
90+
cpu: '1'
91+
memory: 1Gi
92+
ports:
93+
- containerPort: 9200
94+
name: db
95+
protocol: TCP
96+
- containerPort: 9300
97+
name: transport
98+
protocol: TCP
99+
volumeMounts:
100+
- name: example-kubernetes-app-es-data
101+
mountPath: /data
102+
- name: example-kubernetes-app-es-config
103+
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
104+
subPath: elasticsearch.yml
105+
env:
106+
- name: NAMESPACE
107+
valueFrom:
108+
fieldRef:
109+
fieldPath: metadata.namespace
110+
- name: POD_NAME
111+
valueFrom:
112+
fieldRef:
113+
fieldPath: metadata.name
114+
volumes:
115+
- name: example-kubernetes-app-es-data
116+
persistentVolumeClaim:
117+
claimName: example-kubernetes-app-es-pvc
118+
119+
# Elasticsearch requires vm.max_map_count to be at least 262144.
120+
# If your OS already sets up this number to a higher value, feel free
121+
# to remove this init container.
122+
initContainers:
123+
- image: alpine:3.6
124+
command: ["/sbin/sysctl", "-w", "vm.max_map_count=262144"]
125+
name: example-kubernetes-app-es-init
126+
securityContext:
127+
privileged: true
128+
129+
---
130+
apiVersion: v1
131+
kind: Service
132+
metadata:
133+
name: example-kubernetes-app-es
134+
labels:
135+
app: example-kubernetes-app-es
136+
kubernetes.io/cluster-service: "true"
137+
addonmanager.kubernetes.io/mode: Reconcile
138+
kubernetes.io/name: "Elasticsearch"
139+
spec:
140+
type: ClusterIP
141+
clusterIP: None # headless
142+
ports:
143+
- port: 9200
144+
protocol: TCP
145+
name: db
146+
targetPort: db
147+
- name: in
148+
port: 9300
149+
protocol: TCP
150+
selector:
151+
app: example-kubernetes-app-es

apps/grafana/grafana.yaml

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
apiVersion: storage.k8s.io/v1
3+
kind: StorageClass
4+
metadata:
5+
name: example-kubernetes-app-grafana-storage
6+
provisioner: kubernetes.io/no-provisioner
7+
volumeBindingMode: WaitForFirstConsumer
8+
9+
---
10+
apiVersion: v1
11+
kind: PersistentVolume
12+
metadata:
13+
name: example-kubernetes-app-grafana-pv
14+
spec:
15+
capacity:
16+
storage: 2Gi
17+
volumeMode: Filesystem # Filesystem(文件系统) Block(块)
18+
accessModes:
19+
- ReadWriteOnce # 卷可以被一个节点以读写方式挂载
20+
persistentVolumeReclaimPolicy: Delete
21+
storageClassName: example-kubernetes-app-grafana-storage
22+
local:
23+
path: /Users/toquery/data/grafana-data
24+
nodeAffinity:
25+
required:
26+
# 通过 hostname 限定在某个节点创建存储卷
27+
nodeSelectorTerms:
28+
- matchExpressions:
29+
- key: kubernetes.io/hostname
30+
operator: In
31+
values:
32+
- docker-desktop
33+
34+
---
35+
apiVersion: v1
36+
kind: PersistentVolumeClaim
37+
metadata:
38+
name: grafana-pvc
39+
spec:
40+
accessModes:
41+
- ReadWriteOnce
42+
storageClassName: example-kubernetes-app-grafana-storage
43+
resources:
44+
requests:
45+
storage: 1Gi
46+
---
47+
apiVersion: apps/v1
48+
kind: Deployment
49+
metadata:
50+
labels:
51+
app: grafana
52+
name: grafana
53+
spec:
54+
selector:
55+
matchLabels:
56+
app: grafana
57+
template:
58+
metadata:
59+
labels:
60+
app: grafana
61+
spec:
62+
securityContext:
63+
fsGroup: 472
64+
supplementalGroups:
65+
- 0
66+
containers:
67+
- name: grafana
68+
image: grafana/grafana:8.3.3
69+
imagePullPolicy: IfNotPresent
70+
ports:
71+
- containerPort: 3000
72+
name: http-grafana
73+
protocol: TCP
74+
# readinessProbe:
75+
# failureThreshold: 3
76+
# httpGet:
77+
# path: /robots.txt
78+
# port: 3000
79+
# scheme: HTTP
80+
# initialDelaySeconds: 10
81+
# periodSeconds: 30
82+
# successThreshold: 1
83+
# timeoutSeconds: 2
84+
# livenessProbe:
85+
# failureThreshold: 3
86+
# initialDelaySeconds: 30
87+
# periodSeconds: 10
88+
# successThreshold: 1
89+
# tcpSocket:
90+
# port: 3000
91+
# timeoutSeconds: 1
92+
resources:
93+
requests:
94+
cpu: 250m
95+
memory: 750Mi
96+
volumeMounts:
97+
- mountPath: /var/lib/grafana
98+
name: grafana-pv
99+
volumes:
100+
- name: grafana-pv
101+
persistentVolumeClaim:
102+
claimName: grafana-pvc
103+
---
104+
apiVersion: v1
105+
kind: Service
106+
metadata:
107+
name: grafana
108+
spec:
109+
ports:
110+
- port: 3000
111+
protocol: TCP
112+
targetPort: http-grafana
113+
selector:
114+
app: grafana
115+
sessionAffinity: None
116+
type: NodePort

Ingress/apple.yaml renamed to apps/ingress/apple.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ kind: Pod
22
apiVersion: v1
33
metadata:
44
name: apple-app
5+
namespace: example-kubernetes
56
labels:
67
app: apple
78
spec:
@@ -17,6 +18,7 @@ kind: Service
1718
apiVersion: v1
1819
metadata:
1920
name: apple-service
21+
namespace: example-kubernetes
2022
spec:
2123
selector:
2224
app: apple

Ingress/banana.yaml renamed to apps/ingress/banana.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ kind: Pod
22
apiVersion: v1
33
metadata:
44
name: banana-app
5+
namespace: example-kubernetes
56
labels:
67
app: banana
78
spec:
@@ -17,6 +18,7 @@ kind: Service
1718
apiVersion: v1
1819
metadata:
1920
name: banana-service
21+
namespace: example-kubernetes
2022
spec:
2123
selector:
2224
app: banana

Ingress/ingress.yaml renamed to apps/ingress/ingress.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ apiVersion: networking.k8s.io/v1
22
kind: Ingress
33
metadata:
44
name: example-ingress
5-
annotations:
6-
kubernetes.io/ingress.class: "nginx" # 控制器使用nginx
5+
namespace: example-kubernetes
6+
# annotations:
7+
# kubernetes.io/ingress.class: "kong" # 控制器使用nginx
78
spec:
9+
ingressClassName: nginx
810
rules:
9-
- host: ingress.local
11+
- host: ingress.example-kubernetes.com
1012
http:
1113
paths:
1214
- path: /apple

apps/kong/0.1-kong-ingress.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: Ingress
3+
metadata:
4+
namespace: kong
5+
name: kong
6+
annotations:
7+
kubernetes.io/ingress.class: "nginx"
8+
spec:
9+
rules:
10+
- host: kong.localhost
11+
http:
12+
paths:
13+
- path: /
14+
pathType: Prefix
15+
backend:
16+
service:
17+
name: ingress-kong
18+
port:
19+
number: 8000
20+

0 commit comments

Comments
 (0)