https://raw.githubusercontent.com/kubernetes/dashboard/v3.0.0-alpha0/charts/kubernetes-dashboard.yaml 以下链接的内容:
由于国内访问不了,找到一些方法下载了这个文件内容,
部署是mages 对象的镜像
WEB
docker.io/kubernetesui/dashboard-web:v1.0.0
API
docker.io/kubernetesui/dashboard-api:v1.0.0
Metrics Scraper
docker.io/kubernetesui/metrics-scraper:v1.0.9
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.################################ ### Namespaces ################################apiVersion: v1 kind: Namespace metadata:name: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard---################################ ### cert-manager ################################apiVersion: cert-manager.io/v1 kind: Issuer metadata:name: selfsignednamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: certmanagerapp.kubernetes.io/part-of: kubernetes-dashboard spec:selfSigned: {}---################################ ### Service Accounts ################################apiVersion: v1 kind: ServiceAccount metadata:name: kubernetes-dashboardnamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard---################################ ### Secrets & Config Maps ################################apiVersion: v1 kind: Secret metadata:name: kubernetes-dashboard-csrfnamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard type: Opaque data:csrf: ""---apiVersion: v1 kind: Secret metadata:name: kubernetes-dashboard-key-holdernamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard type: Opaque---kind: ConfigMap apiVersion: v1 metadata:name: kubernetes-dashboard-settingsnamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard---################################ ### Roles & Bindings ################################kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata:name: kubernetes-dashboardnamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard rules:# Allow Dashboard to get, update and delete Dashboard exclusive secrets.- apiGroups: [ "" ]resources: [ "secrets" ]resourceNames: [ "kubernetes-dashboard-key-holder", "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/proxy" ]resourceNames: [ "kubernetes-dashboard-metrics-scraper", "http:kubernetes-dashboard-metrics-scraper" ]verbs: [ "get" ]---kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard rules:# Allow Metrics Scraper to get metrics from the Metrics server- apiGroups: [ "metrics.k8s.io" ]resources: [ "pods", "nodes" ]verbs: [ "get", "list", "watch" ]---apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata:name: kubernetes-dashboardnamespace: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: kubernetes-dashboard subjects:- kind: ServiceAccountname: kubernetes-dashboardnamespace: kubernetes-dashboard---apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata:name: kubernetes-dashboardlabels:app.kubernetes.io/part-of: kubernetes-dashboard roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: kubernetes-dashboard subjects:- kind: ServiceAccountname: kubernetes-dashboardnamespace: kubernetes-dashboard---################################ ### Services & Ingresses ################################kind: Service apiVersion: v1 metadata:name: kubernetes-dashboard-webnamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-webapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: webapp.kubernetes.io/version: "v1.0.0" spec:ports:- name: webport: 8000selector:app.kubernetes.io/name: kubernetes-dashboard-webapp.kubernetes.io/part-of: kubernetes-dashboard---kind: Service apiVersion: v1 metadata:name: kubernetes-dashboard-apinamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-apiapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: apiapp.kubernetes.io/version: "v1.0.0" spec:ports:- name: apiport: 9000selector:app.kubernetes.io/name: kubernetes-dashboard-apiapp.kubernetes.io/part-of: kubernetes-dashboard---kind: Service apiVersion: v1 metadata:name: kubernetes-dashboard-metrics-scrapernamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-metrics-scraperapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: metricsapp.kubernetes.io/version: "v1.0.9" spec:ports:- port: 8000targetPort: 8000selector:app.kubernetes.io/name: kubernetes-dashboard-metrics-scraperapp.kubernetes.io/part-of: kubernetes-dashboard---kind: Ingress apiVersion: networking.k8s.io/v1 metadata:name: kubernetes-dashboardnamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: nginx-ingressapp.kubernetes.io/part-of: kubernetes-dashboardannotations:nginx.ingress.kubernetes.io/ssl-redirect: "true"cert-manager.io/issuer: selfsigned spec:ingressClassName: nginxtls:- hosts:- localhostsecretName: kubernetes-dashboard-certsrules:- host: localhosthttp:paths:- path: /pathType: Prefixbackend:service:name: kubernetes-dashboard-webport:name: web- path: /apipathType: Prefixbackend:service:name: kubernetes-dashboard-apiport:name: api---################################ ### Deployments ################################kind: Deployment apiVersion: apps/v1 metadata:name: kubernetes-dashboard-apinamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-apiapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: apiapp.kubernetes.io/version: "v1.0.0" spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:app.kubernetes.io/name: kubernetes-dashboard-apiapp.kubernetes.io/part-of: kubernetes-dashboardtemplate:metadata:labels:app.kubernetes.io/name: kubernetes-dashboard-apiapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: apiapp.kubernetes.io/version: "v1.0.0"spec:securityContext:seccompProfile:type: RuntimeDefaultcontainers:- name: kubernetes-dashboard-apiimage: docker.io/kubernetesui/dashboard-api:v1.0.0imagePullPolicy: IfNotPresentports:- containerPort: 9000name: apiprotocol: TCPargs:- --enable-insecure-login- --namespace=kubernetes-dashboardvolumeMounts:# Create on-disk volume to store exec logs- mountPath: /tmpname: tmp-volumesecurityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001volumes:- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard---kind: Deployment apiVersion: apps/v1 metadata:name: kubernetes-dashboard-webnamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-webapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: webapp.kubernetes.io/version: "v1.0.0" spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:app.kubernetes.io/name: kubernetes-dashboard-webapp.kubernetes.io/part-of: kubernetes-dashboardtemplate:metadata:labels:app.kubernetes.io/name: kubernetes-dashboard-webapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: webapp.kubernetes.io/version: "v1.0.0"spec:securityContext:seccompProfile:type: RuntimeDefaultcontainers:- name: kubernetes-dashboard-webimage: docker.io/kubernetesui/dashboard-web:v1.0.0imagePullPolicy: IfNotPresentports:- containerPort: 8000name: webprotocol: TCPvolumeMounts:# Create on-disk volume to store exec logs- mountPath: /tmpname: tmp-volumesecurityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001volumes:- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard---kind: Deployment apiVersion: apps/v1 metadata:name: kubernetes-dashboard-metrics-scrapernamespace: kubernetes-dashboardlabels:app.kubernetes.io/name: kubernetes-dashboard-metrics-scraperapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: metricsapp.kubernetes.io/version: "v1.0.9" spec:replicas: 1revisionHistoryLimit: 10selector:matchLabels:app.kubernetes.io/name: kubernetes-dashboard-metrics-scraperapp.kubernetes.io/part-of: kubernetes-dashboardtemplate:metadata:labels:app.kubernetes.io/name: kubernetes-dashboard-metrics-scraperapp.kubernetes.io/part-of: kubernetes-dashboardapp.kubernetes.io/component: metricsapp.kubernetes.io/version: "v1.0.9"spec:securityContext:seccompProfile:type: RuntimeDefaultcontainers:- name: kubernetes-dashboard-metrics-scraperimage: docker.io/kubernetesui/metrics-scraper:v1.0.9imagePullPolicy: IfNotPresentports:- containerPort: 8000protocol: TCPlivenessProbe:httpGet:scheme: HTTPpath: /port: 8000initialDelaySeconds: 30timeoutSeconds: 30volumeMounts:- mountPath: /tmpname: tmp-volumesecurityContext:allowPrivilegeEscalation: falsereadOnlyRootFilesystem: truerunAsUser: 1001runAsGroup: 2001volumes:- name: tmp-volumeemptyDir: {}serviceAccountName: kubernetes-dashboard