k8s自动化安装请参照文档:https://blog.youkuaiyun.com/weixin_50801368/article/details/118050457
1.8.3配置文件参考官方文档
-
增加了通过
api-server
方式访问dashboard -
增加了
NodePort
方式暴露服务,这样集群外部可以使用https://NodeIP:NodePort
(注意是https不是http,区别于1.6.3版本) 直接访问 dashboard,生产环境建议关闭该访问途径
安装部署
#如果之前已按照本项目部署dashboard1.6.3,先删除旧版本
kubectl delete -f /etc/ansible/manifests/dashboard/1.6.3/
kubectl delete -f /etc/ansible/manifests/dashboard
# 部署dashboard 主yaml配置文件
cp -rp /etc/ansible/manifests/dashboard/1.6.3/ui* /etc/ansible/manifests/dashboard/
$ kubectl create -f /etc/ansible/manifests/dashboard/kubernetes-dashboard.yaml
# 部署基本密码认证配置[可选],密码文件位于/etc/kubernetes/ssl/basic-auth.csv使用apiserver方式访问需要
$ kubectl create -f /etc/ansible/manifests/dashboard/ui-admin-rbac.yaml
$ kubectl create -f /etc/ansible/manifests/dashboard/ui-read-rbac.yaml
# 创建可读可写 admin Service Account
$ kubectl create -f /etc/ansible/manifests/dashboard/admin-user-sa-rbac.yaml
# 创建只读 read Service Account
kubectl create -f /etc/ansible/manifests/dashboard/read-user-sa-rbac.yaml
验证部署结果
# 查看pod 运行状态
kubectl get pod -n kube-system | grep dashboard
kubernetes-dashboard-7c74685c48-9qdpn 1/1 Running 0 22s
# 查看dashboard service
kubectl get svc -n kube-system|grep dashboard
kubernetes-dashboard NodePort 10.68.219.38 <none> 443:24108/TCP 53s
# 查看集群服务
kubectl cluster-info|grep dashboard
kubernetes-dashboard is running at https://192.168.1.151:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
# 查看pod 运行日志,关注有没有错误
kubectl logs kubernetes-dashboard-7c74685c48-9qdpn -n kube-system
登录dashboard
# 获取 Bearer Token,找到输出中 ‘token:’ 开头那一行
#S kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
或者:
kubectl describe secrets -n kube-system admin-user-token-lhqck
###访问之前需要向浏览器导入证书 上传之前pkcs12转换一下 把生成的证书admin.p12导入浏览器。就可以访问了
###注意此处必须重启浏览器
$cd /etc/kubernetes/ssl/
$openssl pkcs12 -export -in admin.pem -out admin.p12 -inkey admin-key.pem
之后选择令牌方式登录,令牌通过命令行