云原生之Kubernetes:19、Dashboard部署

文章目录

  • 前言
  • 1.环境信息
  • 2.开始部署

前言

在 Kubernetes 社区中,有一个很受欢迎的Dashboard项目,它可以给用户提供一个可视化Web界面来查看当前集群的各种信息、应用我们的yaml文件。用户也可以用Kubernetes Dashboard监控应用的状态、执行故障排查任务以及管理Kubernetes的各种基础资源。

1.环境信息

组件 版本
kubernetes v1.16.3
dashboard v2.0.0-beta5

对于其他版本的获取,以及详细的版本兼容性,你可以在dashboard官方项目中找到。

2.开始部署

1、创建证书

mkdir dashboard-certs
cd dashboard-certs/

#创建名称空间
kubectl create namespace kubernetes-dashboard
# 创建key文件
openssl genrsa -out dashboard.key 2048

#创建证书请求
openssl req -days 36000 -new -out dashboard.csr -key dashboard.key -subj '/CN=dashboard-cert'

#自签证书
openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt

#创建kubernetes-dashboard-certs对象,类型为generic
kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard

2、下载并修改recommended.yaml文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml

#定义NodePort集群网络 便于我们直接访问
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: 30008 #增加
  selector:
    k8s-app: kubernetes-dashboard

---
#因为自动生成的证书很多浏览器无法使用,所以我们自己创建,注释掉kubernetes-dashboard-certs对象声明
#apiVersion: v1
#kind: Secret
#metadata:
#  labels:
#    k8s-app: kubernetes-dashboard
#  name: kubernetes-dashboard-certs
#  namespace: kubernetes-dashboard
#type: Opaque

3、安装Dashboard

#安装
kubectl apply -f  ~/recommended.yaml

#检查结果
kubectl get pods -A  -o wide
kubectl get service -n kubernetes-dashboard  -o wide

4、创建Dashboard管理员账号dashboard-admin.yaml,并apply

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: dashboard-admin
  namespace: kubernetes-dashboard

5、赋权dashboard-admin-bind-cluster-role.yaml,并apply

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: dashboard-admin-bind-cluster-role
  labels:
    k8s-app: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: dashboard-admin
  namespace: kubernetes-dashboard

将dashboard-admin账号绑定至内建的集群级别的策略(cluster-admin)上

6、复制token,并登录https://192.168.0.104:30008(换成你环境的ip即可)

#查看token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}')

7、此时,你应该可以看到类似下面的管理界面了:
云原生之Kubernetes:19、Dashboard部署_第1张图片

你可能感兴趣的:(云原生,#,Kubernetes,kubernetes,云原生,docker)