1. 下载k8s的dashboard的yaml

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

2.运行recommended.yaml

kubectl apply -f recommended.yaml

3.查看pod信息

kubectl get pods --all-namespaces

在这里插入图片描述

4. 修改dashboard的yaml

因为我们的dashboard需要对外开放,需要增加配置
4.1 删除之前的service

kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard

4.2 增加dashboard-svc.yaml文件
保存后执行 kubectl apply -f dashboard-svc.yaml

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: 30000   #对外暴露端口
  selector:
    k8s-app: kubernetes-dashboard

5. 进入dashboard

在浏览器中输入 master节点的ip加上我们刚才对外暴露的30000端口进行访问我们k8s的dashboard
请注意 是https请求
例如 我的ip是 192.168.34.7 暴露的是30000
那我访问地址为 https://192.168.34.7:30000/

在这里插入图片描述

5.1 需要输入一个token才能进入dashboard页面,接下来我们需要增加一个yaml配置
保存后执行 kubectl apply -f dashboard-svc-account.yaml

cat >> dashboard-svc-account.yaml < EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: dashboard-admin
  namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dashboard-admin
subjects:
  - kind: ServiceAccount
    name: dashboard-admin
    namespace: kube-system
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
EOF

5.2 使用命令 生成token

kubectl describe secret $(kubectl get secret -n kube-system |grep admin|awk '{print $1}') -n kube-system

在这里插入图片描述

5.3 把生成的token输入就可以进入到这个页面
在这里插入图片描述
5.4 增长dashboard的token过期时间

 containers:
        - name: kubernetes-dashboard
          image: 'kubernetesui/dashboard:v2.0.4'
          args:
            - '--auto-generate-certificates'
            - '--namespace=kubernetes-dashboard'
            - '--token-ttl=43200'   #增加这一行

在这里插入图片描述

6. 在dashboard中运行pod

在这里插入图片描述
在这里插入图片描述

7. 删除运行的pod

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐