部署 k8s dashboard
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署 k8s dashboard相关的知识,希望对你有一定的参考价值。
目标
- 部署拥有最高权限的 dashboard
- dashboard 无需登陆或鉴权
操作
- 下载 dashboard 资源 yaml
curl -LO https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
- 更新 yaml
--- recommended.yaml 2021-05-21 22:19:51.519471205 +0800
+++ recommended-modified.yaml 2021-05-21 23:08:15.637225301 +0800
@@ -38,8 +38,8 @@
namespace: kubernetes-dashboard
spec:
ports:
- - port: 443
- targetPort: 8443
+ - port: 80
+ targetPort: 9090
selector:
k8s-app: kubernetes-dashboard
@@ -90,68 +90,6 @@
---
-kind: Role
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- labels:
- k8s-app: kubernetes-dashboard
- name: kubernetes-dashboard
- namespace: kubernetes-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"]
-
----
-
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- labels:
- k8s-app: kubernetes-dashboard
- name: 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:
- labels:
- k8s-app: kubernetes-dashboard
- name: kubernetes-dashboard
- namespace: kubernetes-dashboard
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: kubernetes-dashboard
-subjects:
- - kind: ServiceAccount
- name: kubernetes-dashboard
- namespace: kubernetes-dashboard
-
----
-
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
@@ -159,7 +97,7 @@
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
- name: kubernetes-dashboard
+ name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
@@ -190,15 +128,11 @@
image: kubernetesui/dashboard:v2.2.0
imagePullPolicy: Always
ports:
- - containerPort: 8443
+ - containerPort: 9090
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
+ - --insecure-bind-address=0.0.0.0
volumeMounts:
- name: kubernetes-dashboard-certs
mountPath: /certs
@@ -207,9 +141,9 @@
name: tmp-volume
livenessProbe:
httpGet:
- scheme: HTTPS
+ scheme: HTTP
path: /
- port: 8443
+ port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
securityContext:
- 部署
kubectl apply -f recommended-modified.yaml
以上是关于部署 k8s dashboard的主要内容,如果未能解决你的问题,请参考以下文章
k8s在AWS EKS部署并通过ALB访问k8s Dashboard保姆级教程
K8S 集群架构的 kubeadm 部署dashboard 和 Harbor 仓库部署