Skip to content

Commit 8e23e0d

Browse files
authored
Create dashboard-insecure.yml
1 parent f6b55aa commit 8e23e0d

File tree

1 file changed

+289
-0
lines changed

1 file changed

+289
-0
lines changed

Kubernetese/dashboard-insecure.yml

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
# Copyright 2017 The Kubernetes Authors.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: v1
16+
kind: Namespace
17+
metadata:
18+
name: kubernetes-dashboard
19+
20+
---
21+
22+
apiVersion: v1
23+
kind: ServiceAccount
24+
metadata:
25+
labels:
26+
k8s-app: kubernetes-dashboard
27+
name: kubernetes-dashboard
28+
namespace: default
29+
30+
---
31+
32+
kind: Service
33+
apiVersion: v1
34+
metadata:
35+
labels:
36+
k8s-app: kubernetes-dashboard
37+
name: kubernetes-dashboard
38+
namespace: default
39+
spec:
40+
type: NodePort
41+
ports:
42+
- port: 80
43+
targetPort: 9090
44+
selector:
45+
k8s-app: kubernetes-dashboard
46+
47+
---
48+
49+
apiVersion: v1
50+
kind: Secret
51+
metadata:
52+
labels:
53+
k8s-app: kubernetes-dashboard
54+
name: kubernetes-dashboard-csrf
55+
namespace: default
56+
type: Opaque
57+
data:
58+
csrf: ""
59+
60+
---
61+
62+
apiVersion: v1
63+
kind: Secret
64+
metadata:
65+
labels:
66+
k8s-app: kubernetes-dashboard
67+
name: kubernetes-dashboard-key-holder
68+
namespace: default
69+
type: Opaque
70+
71+
---
72+
73+
kind: ConfigMap
74+
apiVersion: v1
75+
metadata:
76+
labels:
77+
k8s-app: kubernetes-dashboard
78+
name: kubernetes-dashboard-settings
79+
namespace: default
80+
81+
---
82+
83+
kind: Role
84+
apiVersion: rbac.authorization.k8s.io/v1
85+
metadata:
86+
labels:
87+
k8s-app: kubernetes-dashboard
88+
name: kubernetes-dashboard
89+
namespace: default
90+
rules:
91+
# Allow Dashboard to get, update and delete Dashboard exclusive secrets.
92+
- apiGroups: [""]
93+
resources: ["secrets"]
94+
resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
95+
verbs: ["get", "update", "delete"]
96+
# Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
97+
- apiGroups: [""]
98+
resources: ["configmaps"]
99+
resourceNames: ["kubernetes-dashboard-settings"]
100+
verbs: ["get", "update"]
101+
# Allow Dashboard to get metrics.
102+
- apiGroups: [""]
103+
resources: ["services"]
104+
resourceNames: ["heapster", "dashboard-metrics-scraper"]
105+
verbs: ["proxy"]
106+
- apiGroups: [""]
107+
resources: ["services/proxy"]
108+
resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
109+
verbs: ["get"]
110+
111+
---
112+
113+
kind: ClusterRole
114+
apiVersion: rbac.authorization.k8s.io/v1
115+
metadata:
116+
labels:
117+
k8s-app: kubernetes-dashboard
118+
name: kubernetes-dashboard
119+
rules:
120+
# Allow Metrics Scraper to get metrics from the Metrics server
121+
- apiGroups: ["metrics.k8s.io"]
122+
resources: ["pods", "nodes"]
123+
verbs: ["get", "list", "watch"]
124+
125+
---
126+
127+
apiVersion: rbac.authorization.k8s.io/v1
128+
kind: RoleBinding
129+
metadata:
130+
labels:
131+
k8s-app: kubernetes-dashboard
132+
name: kubernetes-dashboard
133+
namespace: default
134+
roleRef:
135+
apiGroup: rbac.authorization.k8s.io
136+
kind: Role
137+
name: kubernetes-dashboard
138+
subjects:
139+
- kind: ServiceAccount
140+
name: kubernetes-dashboard
141+
namespace: default
142+
143+
---
144+
145+
apiVersion: rbac.authorization.k8s.io/v1
146+
kind: ClusterRoleBinding
147+
metadata:
148+
name: kubernetes-dashboard
149+
roleRef:
150+
apiGroup: rbac.authorization.k8s.io
151+
kind: ClusterRole
152+
# name: kubernetes-dashboard
153+
name: cluster-admin
154+
subjects:
155+
- kind: ServiceAccount
156+
name: kubernetes-dashboard
157+
#namespace: kubernetes-dashboard
158+
namespace: default
159+
160+
---
161+
162+
kind: Deployment
163+
apiVersion: apps/v1
164+
metadata:
165+
labels:
166+
k8s-app: kubernetes-dashboard
167+
name: kubernetes-dashboard
168+
namespace: default
169+
spec:
170+
replicas: 1
171+
revisionHistoryLimit: 10
172+
selector:
173+
matchLabels:
174+
k8s-app: kubernetes-dashboard
175+
template:
176+
metadata:
177+
labels:
178+
k8s-app: kubernetes-dashboard
179+
spec:
180+
containers:
181+
- name: kubernetes-dashboard
182+
image: kubernetesui/dashboard:v2.0.3 ## kubernetesui/dashboard:v2.0.0-beta8
183+
ports:
184+
- containerPort: 9090
185+
protocol: TCP
186+
args:
187+
- --namespace=default
188+
- --enable-skip-login
189+
- --disable-settings-authorizer
190+
- --enable-insecure-login
191+
# Uncomment the following line to manually specify Kubernetes API server Host
192+
# If not specified, Dashboard will attempt to auto discover the API server and connect
193+
# to it. Uncomment only if the default does not work.
194+
# - --apiserver-host=http://my-address:port
195+
volumeMounts:
196+
# Create on-disk volume to store exec logs
197+
- mountPath: /tmp
198+
name: tmp-volume
199+
livenessProbe:
200+
httpGet:
201+
path: /
202+
port: 9090
203+
initialDelaySeconds: 30
204+
timeoutSeconds: 30
205+
securityContext:
206+
allowPrivilegeEscalation: false
207+
readOnlyRootFilesystem: true
208+
runAsUser: 1001
209+
runAsGroup: 2001
210+
volumes:
211+
- name: tmp-volume
212+
emptyDir: {}
213+
serviceAccountName: kubernetes-dashboard
214+
nodeSelector:
215+
"beta.kubernetes.io/os": linux
216+
# Comment the following tolerations if Dashboard must not be deployed on master
217+
tolerations:
218+
- key: node-role.kubernetes.io/master
219+
effect: NoSchedule
220+
221+
---
222+
223+
kind: Service
224+
apiVersion: v1
225+
metadata:
226+
labels:
227+
k8s-app: dashboard-metrics-scraper
228+
name: dashboard-metrics-scraper
229+
namespace: default
230+
spec:
231+
ports:
232+
- port: 8000
233+
targetPort: 8000
234+
selector:
235+
k8s-app: dashboard-metrics-scraper
236+
237+
---
238+
239+
kind: Deployment
240+
apiVersion: apps/v1
241+
metadata:
242+
labels:
243+
k8s-app: dashboard-metrics-scraper
244+
name: dashboard-metrics-scraper
245+
namespace: default
246+
spec:
247+
replicas: 1
248+
revisionHistoryLimit: 10
249+
selector:
250+
matchLabels:
251+
k8s-app: dashboard-metrics-scraper
252+
template:
253+
metadata:
254+
labels:
255+
k8s-app: dashboard-metrics-scraper
256+
annotations:
257+
seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
258+
spec:
259+
containers:
260+
- name: dashboard-metrics-scraper
261+
image: kubernetesui/metrics-scraper:v1.0.1
262+
ports:
263+
- containerPort: 8000
264+
protocol: TCP
265+
livenessProbe:
266+
httpGet:
267+
scheme: HTTP
268+
path: /
269+
port: 8000
270+
initialDelaySeconds: 30
271+
timeoutSeconds: 30
272+
volumeMounts:
273+
- mountPath: /tmp
274+
name: tmp-volume
275+
securityContext:
276+
allowPrivilegeEscalation: false
277+
readOnlyRootFilesystem: true
278+
runAsUser: 1001
279+
runAsGroup: 2001
280+
serviceAccountName: kubernetes-dashboard
281+
nodeSelector:
282+
"beta.kubernetes.io/os": linux
283+
# Comment the following tolerations if Dashboard must not be deployed on master
284+
tolerations:
285+
- key: node-role.kubernetes.io/master
286+
effect: NoSchedule
287+
volumes:
288+
- name: tmp-volume
289+
emptyDir: {}

0 commit comments

Comments
 (0)