K8S之部署Dashboard

转载声明

本文转载自:ASP.NET Core on K8S深入学习(2)部署过程解析与部署Dashboard

 

1.Yaml安装

下载yaml文件

wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

通过vim编辑yaml文件中默认的镜像源地址:这里替换为李振良老师的镜像地址。

    containers:
      - name: kubernetes-dashboard
        #image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
        image: lizhenliang/kubernetes-dashboard-amd64:v1.10.1

然后,由于默认Dashboard只能集群内部访问,因此修改Service为NodePort类型,暴露到外部可以访问:

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

最后,我们直接apply本地这个yaml文件来创建Dashboard:

kubectl apply -f kubernetes-dashboard.yaml

看到提示“service/kubernetes-dashboard created”代表Dashboard创建成功了,这时我们通过浏览器来访问一下:

此处有个大坑,只有火狐可以直接打开,其他360(两种模式)、chrome、Edge都不行。

1.设置浏览器安全策略

2.将证书设置成系统信任

接上一步,看到了登录界面,需要我们配置kubeconfig或输入token,这里我们选择后者,通过以下命令获取输出的token:

kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

拿到token在登录界面的令牌区域输入,然后点击登录:

如果忘记Token,使用下面的命令 

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

 即可进入下图所示的主界面了:

 

2.重装Dashboard

在kubernetes-dashboard.yaml所在路径下

kubectl delete -f kubernetes-dashboard.yaml
kubectl create -f kubernetes-dashboard.yaml

 

3.常用命令

查看所有的pod运行状态

kubectl get pod --all-namespaces

查看dashboard映射的端口

kubectl -n kube-system get service kubernetes-dashboard

 

posted @ 2019-09-07 13:53  imstrive  阅读(15726)  评论(1编辑  收藏  举报