文章目录
- 1、Recommended.yaml
- 2、调用结果
- 3、YAML文件创建的相关Pod、Deployment、Service信息汇总
1、Recommended.yaml
# Copyright 2017 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersionv1
kindNamespace
metadata
namekubernetes-dashboard
---
apiVersionv1
kindServiceAccount
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
namespacekubernetes-dashboard
---
kindService
apiVersionv1
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
namespacekubernetes-dashboard
spec
typeNodePort #修改svc服务类型为NodePort
ports
port443
targetPort8443
nodePort30443 #自定义站点映射端口
selector
k8s-appkubernetes-dashboard
---
apiVersionv1
kindSecret
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard-certs
namespacekubernetes-dashboard
typeOpaque
---
apiVersionv1
kindSecret
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard-csrf
namespacekubernetes-dashboard
typeOpaque
data
csrf""
---
apiVersionv1
kindSecret
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard-key-holder
namespacekubernetes-dashboard
typeOpaque
---
kindConfigMap
apiVersionv1
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard-settings
namespacekubernetes-dashboard
---
kindRole
apiVersionrbac.authorization.k8s.io/v1
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
namespacekubernetes-dashboard
rules
# Allow Dashboard to get, update and delete Dashboard exclusive secrets.
apiGroups""
resources"secrets"
resourceNames"kubernetes-dashboard-key-holder" "kubernetes-dashboard-certs" "kubernetes-dashboard-csrf"
verbs"get" "update" "delete"
# Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
apiGroups""
resources"configmaps"
resourceNames"kubernetes-dashboard-settings"
verbs"get" "update"
# Allow Dashboard to get metrics.
apiGroups""
resources"services"
resourceNames"heapster" "dashboard-metrics-scraper"
verbs"proxy"
apiGroups""
resources"services/proxy"
resourceNames"heapster" "http:heapster:" "https:heapster:" "dashboard-metrics-scraper" "http:dashboard-metrics-scraper"
verbs"get"
---
kindClusterRole
apiVersionrbac.authorization.k8s.io/v1
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
rules
# Allow Metrics Scraper to get metrics from the Metrics server
apiGroups"metrics.k8s.io"
resources"pods" "nodes"
verbs"get" "list" "watch"
---
apiVersionrbac.authorization.k8s.io/v1
kindRoleBinding
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
namespacekubernetes-dashboard
roleRef
apiGrouprbac.authorization.k8s.io
kindRole
namekubernetes-dashboard
subjects
kindServiceAccount
namekubernetes-dashboard
namespacekubernetes-dashboard
---
apiVersionrbac.authorization.k8s.io/v1
kindClusterRoleBinding
metadata
namekubernetes-dashboard
roleRef
apiGrouprbac.authorization.k8s.io
kindClusterRole
namekubernetes-dashboard
subjects
kindServiceAccount
namekubernetes-dashboard
namespacekubernetes-dashboard
---
kindDeployment
apiVersionapps/v1
metadata
labels
k8s-appkubernetes-dashboard
namekubernetes-dashboard
namespacekubernetes-dashboard
spec
replicas1
revisionHistoryLimit10
selector
matchLabels
k8s-appkubernetes-dashboard
template
metadata
labels
k8s-appkubernetes-dashboard
spec
containers
namekubernetes-dashboard
imagekubernetesui/dashboardv2.0.0-rc7
imagePullPolicyAlways
ports
containerPort8443
protocolTCP
args
--auto-generate-certificates
--namespace=kubernetes-dashboard
# Uncomment the following line to manually specify Kubernetes API server Host
# If not specified, Dashboard will attempt to auto discover the API server and connect
# to it. Uncomment only if the default does not work.
# - --apiserver-host=http://my-address:port
volumeMounts
namekubernetes-dashboard-certs
mountPath/certs
# Create on-disk volume to store exec logs
mountPath/tmp
nametmp-volume
livenessProbe
httpGet
schemeHTTPS
path/
port8443
initialDelaySeconds30
timeoutSeconds30
securityContext
allowPrivilegeEscalationfalse
readOnlyRootFilesystemtrue
runAsUser1001
runAsGroup2001
volumes
namekubernetes-dashboard-certs
secret
secretNamekubernetes-dashboard-certs
nametmp-volume
emptyDir
serviceAccountNamekubernetes-dashboard
nodeSelector
"beta.kubernetes.io/os"linux
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations
keynode-role.kubernetes.io/master
effectNoSchedule
---
kindService
apiVersionv1
metadata
labels
k8s-appdashboard-metrics-scraper
namedashboard-metrics-scraper
namespacekubernetes-dashboard
spec
ports
port8000
targetPort8000
selector
k8s-appdashboard-metrics-scraper
---
kindDeployment
apiVersionapps/v1
metadata
labels
k8s-appdashboard-metrics-scraper
namedashboard-metrics-scraper
namespacekubernetes-dashboard
spec
replicas1
revisionHistoryLimit10
selector
matchLabels
k8s-appdashboard-metrics-scraper
template
metadata
labels
k8s-appdashboard-metrics-scraper
annotations
seccomp.security.alpha.kubernetes.io/pod'runtime/default'
spec
containers
namedashboard-metrics-scraper
imagekubernetesui/metrics-scraperv1.0.4
ports
containerPort8000
protocolTCP
livenessProbe
httpGet
schemeHTTP
path/
port8000
initialDelaySeconds30
timeoutSeconds30
volumeMounts
mountPath/tmp
nametmp-volume
securityContext
allowPrivilegeEscalationfalse
readOnlyRootFilesystemtrue
runAsUser1001
runAsGroup2001
serviceAccountNamekubernetes-dashboard
nodeSelector
"beta.kubernetes.io/os"linux
# Comment the following tolerations if Dashboard must not be deployed on master
tolerations
keynode-role.kubernetes.io/master
effectNoSchedule
volumes
nametmp-volume
emptyDir2、调用结果
[root@master ~]# kubectl apply -f recommended.yaml
namespace/kubernetes-dashboard created
serviceaccount/kubernetes-dashboard created
service/kubernetes-dashboard created
secret/kubernetes-dashboard-certs created
secret/kubernetes-dashboard-csrf created
secret/kubernetes-dashboard-key-holder created
configmap/kubernetes-dashboard-settings created
role.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrole.rbac.authorization.k8s.io/kubernetes-dashboard created
rolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created
Warning: spec.template.spec.nodeSelector[beta.kubernetes.io/os]: deprecated since v1.14; use "kubernetes.io/os" instead
deployment.apps/kubernetes-dashboard created
service/dashboard-metrics-scraper created
Warning: spec.template.metadata.annotations[seccomp.security.alpha.kubernetes.io/pod]: deprecated since v1.19, non-functional in v1.25+; use the "seccompProfile" field instead
deployment.apps/dashboard-metrics-scraper created3、YAML文件创建的相关Pod、Deployment、Service信息汇总
[root@master ~]# kubectl get all -n kubernetes-dashboard
NAME READY STATUS RESTARTS AGE
pod/dashboard-metrics-scraper-5d74b4cf4c-785wb 1/1 Running 0 30m
pod/kubernetes-dashboard-6b88c86848-nqw8d 1/1 Running 0 30m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dashboard-metrics-scraper ClusterIP 10.111.175.25 <none> 8000/TCP 30m
service/kubernetes-dashboard NodePort 10.99.28.45 <none> 443:30443/TCP 30m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/dashboard-metrics-scraper 1/1 1 1 30m
deployment.apps/kubernetes-dashboard 1/1 1 1 30m
NAME DESIRED CURRENT READY AGE
replicaset.apps/dashboard-metrics-scraper-5d74b4cf4c 1 1 1 30m
replicaset.apps/kubernetes-dashboard-6b88c86848 1 1 1 30m










