首页 > 其他分享 >kubernetes-dashboard安装使用

kubernetes-dashboard安装使用

时间:2023-03-09 18:31:31浏览次数:47  
标签:kubernetes admin app labels dashboard k8s 安装

环境:

系统:CentOS Linux release 7.6.1810 (Core)

kubernetes版本:v1.23.5

dashboardv2.7.0

github地址:​https://github.com/kubernetes/dashboard/releases


安装说明


上面由当前dashboard的匹配信息和安装yaml文件。

下载yaml文件到本地:

# wget ​https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

# mv recommended.yaml dashboardv2.7.0.ymal


修改dashboard service,更改service类型为NodePort,并暴露30110端口


kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30110
selector:
k8s-app: kubernetes-dashboard


安装: kubectl apply-f dashboardv2.7.0.ymal


#cat dashboardv2.7.0.ymal|grep -v "#"|grep -v "^$" 
apiVersion: v1
kind: Namespace
metadata:
name: kubernetes-dashboard
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
---
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30110
selector:
k8s-app: kubernetes-dashboard
---
apiVersion: v1
kind: Secret
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-certs
namespace: kubernetes-dashboard
type: Opaque
---
apiVersion: v1
kind: Secret
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-csrf
namespace: kubernetes-dashboard
type: Opaque
data:
csrf: ""
---
apiVersion: v1
kind: Secret
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-key-holder
namespace: kubernetes-dashboard
type: Opaque
---
kind: ConfigMap
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-settings
namespace: kubernetes-dashboard
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
rules:
- apiGroups: [""]
resources: ["secrets"]
resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
verbs: ["get", "update", "delete"]
- apiGroups: [""]
resources: ["configmaps"]
resourceNames: ["kubernetes-dashboard-settings"]
verbs: ["get", "update"]
- 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:
- 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:
name: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: kubernetes-dashboard
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kubernetes-dashboard
---
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: reg.caiwu.corp/library/dashboard:v2.7.0
imagePullPolicy: Always
ports:
- containerPort: 8443
protocol: TCP
args:
- --auto-generate-certificates
- --namespace=kubernetes-dashboard
volumeMounts:
- name: kubernetes-dashboard-certs
mountPath: /certs
- 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
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
---
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: dashboard-metrics-scraper
name: dashboard-metrics-scraper
namespace: kubernetes-dashboard
spec:
ports:
- port: 8000
targetPort: 8000
selector:
k8s-app: dashboard-metrics-scraper
---
kind: Deployment
apiVersion: apps/v1
metadata:
labels:
k8s-app: dashboard-metrics-scraper
name: dashboard-metrics-scraper
namespace: kubernetes-dashboard
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: dashboard-metrics-scraper
template:
metadata:
labels:
k8s-app: dashboard-metrics-scraper
spec:
securityContext:
seccompProfile:
type: RuntimeDefault
containers:
- name: dashboard-metrics-scraper
image: reg.caiwu.corp/library/metrics-scraper:v1.0.8
ports:
- containerPort: 8000
protocol: TCP
livenessProbe:
httpGet:
scheme: HTTP
path: /
port: 8000
initialDelaySeconds: 30
timeoutSeconds: 30
volumeMounts:
- mountPath: /tmp
name: tmp-volume
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsUser: 1001
runAsGroup: 2001
serviceAccountName: kubernetes-dashboard
nodeSelector:
"kubernetes.io/os": linux
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
volumes:
- name: tmp-volume
emptyDir: {}





 创建sa账户并绑定为cluster-admin的clusterrolebinding,1.24版本之前会自动生成绑定成功后的sa账户secret。新版需要手动创建


 创建sa账户 admin


#切换 namespace

# kubectl config set-context --namespace kubernetes-dashboard --current 
Context "context-cluster1" modified.

# kubectl create serviceaccount admin
serviceaccount/admin created


将sa账户admin绑定到集群角色cluster-admin

# kubectl create clusterrolebinding admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin
clusterrolebinding.rbac.authorization.k8s.io/admin created


查看admin集群角色


kubectl get clusterrolebindings.rbac.authorization.k8s.io |grep admin


创建secret创建的用户token

# vim usercrendentitals.yaml 
apiVersion: v1
kind: Secret
type: kubernetes.io/service-account-token
metadata:
name: dashboard-admin-user
namespace: kubernetes-dashboard
annotations:
kubernetes.io/service-account.name: "admin"

# kubectl apply -f usercrendentitals.yaml


获取secret创建的用户token

# kubectl describe secrets dashboard-admin-user |grep token


登录界面

kubernetes-dashboard安装使用_Group

kubernetes-dashboard安装使用_github_02


标签:kubernetes,admin,app,labels,dashboard,k8s,安装
From: https://blog.51cto.com/pengge/6111107

相关文章

  • CentOS7 安装 docker-compose
    docker-composegithub下载地址:Releases·docker/compose(github.com)安装#下载安装sudocurl-Lhttps://github.com/docker/compose/releases/download/1.24.1/d......
  • centos 安装clickhouse 并导入mysql数据
    一.安装clickhouse1.系统要求 ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LECPU架构的Linux,FreeBSD或MacOSX上运行。 官方预构建的二进制文件通常针对x86_......
  • Linux安装redis
    1、先去官网下载redis的压缩包  2、redis是基于C语言编写的,需要安装gcc依赖yuminstall-ygcctcl3、编译redis3.1在linux新建目录将redis解压#新建目录mk......
  • OnlyOffice环境安装
    一、PostgreSQL 1、安装PostgreSQL 参考PostgreSQL环境安装 2、运行配置PostgreSQL (1)、运行开始菜单中的pgAdmin4,打开pgAdmin4管理工具(2)、输入密码登录到pg......
  • Windows Docker Desktop 安装 Nacos
    前言以前都是在Linux虚拟机上的Docker安装应用,这次使用Windows10系统的DockerDesktop安装Nacos,所以用挂载文件就不是很方便了,这次采用启动参数的方式对配......
  • 安装docker-compose
    安装docker-compose1.从github上下载docker-compose二进制文件安装下载最新版的docker-compose文件sudocurl-Lhttps://github.com/docker/compose/releases/download......
  • Python的安装
    Python官网地址:https://www.python.org/Windowshelpfile                 --------帮助文档Windowsx86-64embeddablezipfile ......
  • 安装rancher--未完善
    dockerrun-d--restart=unless-stopped-p4480:80-p4443:443--namerancher--privilegedrancher/rancher:stabledockerrun-d--restart=unless-stopped-p4480:......
  • postman安装失败解决
    情况windows点击setup程序后,运行一会报错。然后再点击setup都是一闪而过。解决方式进入C:\Users\用户名\AppData\Local\Postman\packages把里面的Postman-10.11.1-fu......
  • ROS系统安装
    一、安装环境ROS版本的安装要根据操作系统版本进行选择,这里我以我安装的操作系统Ubuntu20.04版本为例,选择安装ROS的Noetic版本二、安装步骤1.浏览器打开ROS官网(https:/......