# 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.
--- kind:Deployment apiVersion:apps/v1 metadata: labels: k8s-app:kubernetes-dashboard name:kubernetes-dashboard namespace:kubernetes-dashboard spec: replicas:1 revisionHistoryLimit:10 selector: matchLabels: k8s-app:kubernetes-dashboard template: metadata: labels: k8s-app:kubernetes-dashboard spec: securityContext: seccompProfile: type:RuntimeDefault containers: -name:kubernetes-dashboard image:kubernetesui/dashboard:v2.6.1 imagePullPolicy:Always ports: -containerPort:8443 protocol:TCP 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: -name:kubernetes-dashboard-certs mountPath:/certs # Create on-disk volume to store exec logs -mountPath:/tmp name:tmp-volume livenessProbe: httpGet: scheme:HTTPS path:/ port:8443 initialDelaySeconds:30 timeoutSeconds:30 securityContext: allowPrivilegeEscalation:false readOnlyRootFilesystem:true runAsUser:1001 runAsGroup:2001 volumes: -name:kubernetes-dashboard-certs secret: secretName:kubernetes-dashboard-certs -name:tmp-volume emptyDir: {} serviceAccountName:kubernetes-dashboard nodeSelector: "kubernetes.io/os":linux # Comment the following tolerations if Dashboard must not be deployed on master tolerations: -key:node-role.kubernetes.io/master effect:NoSchedule
[root@containerd-kube-master~]# kubectl edit services kubernetes-dashboard -n kubernetes-dashboard # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion:v1 kind:Service metadata: annotations: kubectl.kubernetes.io/last-applied-configuration:| {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"k8s-app":"kubernetes-dashboard"},"name":"kubernetes-dashboard","namespace":"kubernetes-dashboard"},"spec":{"ports":[{"port":443,"targetPort":8443}],"selector":{"k8s-app":"kubernetes-dashboard"}}} creationTimestamp:"2022-09-06T02:58:06Z" labels: k8s-app:kubernetes-dashboard name:kubernetes-dashboard namespace:kubernetes-dashboard resourceVersion:"5359" uid:31019fac-9b16-46e5-9172-2cc3f63f2c86 spec: clusterIP:10.101.114.92 clusterIPs: -10.101.114.92 internalTrafficPolicy:Cluster ipFamilies: -IPv4 ipFamilyPolicy:SingleStack ports: -port:443 protocol:TCP targetPort:8443 nodePort:30000# 添加一行nodePort selector: k8s-app:kubernetes-dashboard sessionAffinity:None type:ClusterIP# 修改为NodePort status: loadBalancer: {}