一、准备工作
在进行k8sDashboard安装之前,我们需要先准备好以下工具和环境:
1、已安装好Kubernetes集群
2、kubectl客户端工具
3、管理员权限的账号访问集群
二、使用kubectl安装
1、通过kubectl创建官方dashboard.yml文件:
curl -Lo kubernetes-dashboard.yml https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
2、kubectl安装Dashboard
kubectl apply -f kubernetes-dashboard.yml
需要注意的是,以上安装过程默认把Dashboard服务暴露到集群内的一个IP与端口上,但是此时该端口无法通过外网访问。
三、为Dashboard配置NodePort服务
为了使得Dashboard服务能够被外网访问,我们需要进行NodePort的设置。
1、找到Kubernetes仪表盘对应的Service
kubectl get services -n kubernetes-dashboard
2、编辑新服务
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
3、将新服务类型设置为NodePort
apiVersion: v1 kind: Service metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: externalTrafficPolicy: Cluster ports: - port: 80 protocol: TCP targetPort: 9090 nodePort: 30000 #这个端口可以根据实际情况进行修改 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: NodePort
4、可以通过以下命令查看服务的类型和对外暴露端口:
kubectl describe service kubernetes-dashboard -n kubernetes-dashboard
四、登录Dashboard
1、获取Token
kubectl -n kube-system describe secret \$(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
2、启动代理
kubectl proxy
3、打开浏览器,访问地址:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
4、输入Token后登录Dashboard。
五、安全性注意事项
1、Dashboard默认会生成一个带有Admin权限的ServiceAccount,需慎重使用。
2、Dashboard开启了对于所有用户的匿名访问权限,需要考虑安全问题。
3、建议通过Ingress或VPN等方式进行访问,而非直接暴露NodePort服务端口。
六、总结
本文针对k8sDashboard安装做了完整的阐述,包括安装前的准备工作,kubectl安装,NodePort配置,登录Dashboard,安全性注意事项等内容。希望对您的使用有所帮助。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/154918.html