第四课:部署Dashboard服务

摘要:
Secret50#元数据:kubernetes-dashboard-certs54#命名空间:kuberness-dashboard55#类型:

13 部署dashboard(master01)

13.1 创建dashboard证书

13.1.1 创建目录

mkdir /root/certs && cd /root/certs

13.1.2 创建命名空间
[root@master01 certs]# kubectl create namespace kubernetes-dashboard
namespace/kubernetes-dashboard created
[root@master01 certs]# kubectl get ns
NAME                   STATUS   AGE
default                Active   28h
kube-node-lease        Active   28h
kube-public            Active   28h
kube-system            Active   28h
kubernetes-dashboard   Active   5s
13.1.3 创建key文件
[root@master01 certs]# openssl genrsa -out dashboard.key 2048 
Generating RSA private key, 2048 bit long modulus
................................................+++
...........+++
e is 65537 (0x10001)
13.1.4 创建证书请求
[root@master01 certs]# openssl req -days 36000 -new -out dashboard.csr -key dashboard.key -subj '/CN=dashboard-cert'
[root@master01 certs]# ll
total 8
-rw-r--r-- 1 root root  899 Aug 11 13:42 dashboard.csr
-rw-r--r-- 1 root root 1679 Aug 11 13:41 dashboard.key
13.1.5自签证书
[root@master01 certs]# openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt  
Signature ok
subject=/CN=dashboard-cert
Getting Private key

[root@master01 certs]# ll
total 12
-rw-r--r-- 1 root root  989 Aug 11 13:42 dashboard.crt
-rw-r--r-- 1 root root  899 Aug 11 13:42 dashboard.csr
-rw-r--r-- 1 root root 1679 Aug 11 13:41 dashboard.key
13.1.6 创建kubernetes-dashboard-certs对象
[root@master01 certs]# kubectl delete secrets kubernetes-dashboard-certs -n kubernetes-dashboard
Error from server (NotFound): secrets "kubernetes-dashboard-certs" not found
[root@master01 certs]# kubectl create secret generic kubernetes-dashboard-certs --from-file=/root/certs -n kubernetes-dashboard 
secret/kubernetes-dashboard-certs created
13.1.7 查看系统是否存在证书
[root@master01 certs]# kubectl get secret
NAME                  TYPE                                  DATA   AGE
default-token-kjfkg   kubernetes.io/service-account-token   3      27h

13.2 安装dashboard

13.2.1 创建目录

mkdir /root/dashboard/ && cd /root/dashboard

13.2.2 下载yaml文件

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

13.2.3 修改yaml文件

由于证书问题,只能firefox浏览器才能打开,通过修改证书的方式,使所有浏览器都能打开
以下行全部注释掉,使用我们上面创建的证书

 48 #apiVersion: v1
 49 #kind: Secret
 50 #metadata:
 51 #  labels:
 52 #    k8s-app: kubernetes-dashboard
 53 #  name: kubernetes-dashboard-certs
 54 #  namespace: kubernetes-dashboard
 55 #type: Opaque
13.2.4 修改nodeport模式
 39 spec:
 40   type: NodePort
 41   ports:
 42     - port: 443
 43       targetPort: 8443
 44   selector:
 45     k8s-app: kubernetes-dashboard
13.2.5 应用yaml启动dashboard
kubectl create -f recommand.yaml
13.2.6 查看服务信息
[root@master01 dashboard]# kubectl get pods -A -o wide
kubernetes-dashboard   dashboard-metrics-scraper-76679bc5b9-krkrc   1/1     Running   0          47s   172.17.15.4   192.168.68.149   <none>           <none>

[root@master01 dashboard]# kubectl get svc -A
NAMESPACE              NAME                        TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
kubernetes-dashboard   kubernetes-dashboard        NodePort    10.0.0.115   <none>        443:30916/TCP            14m

13.3 创建dashboard访问账户

13.3.1 创建SA
[root@master01 dashboard]# kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
serviceaccount/dashboard-admin created
13.3.2 绑定集群管理员
[root@master01 dashboard]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created

13.5 获取token

kubectl describe secrets -n kubernetes-dashboard $(kubectl -n kubernetes-dashboard get secret | awk '/dashboard-admin/{print $1}')

eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tOG05ZzQiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiM2UyMmQzZGQtMDE3OS00MzA3LWFhZjEtMGJkNjAzMjRjOTE4Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmVybmV0ZXMtZGFzaGJvYXJkOmRhc2hib2FyZC1hZG1pbiJ9.NPbtxU24mq7u8z3d2DJpbW7SFjxhCivr8s0_phodY9e9F8Vp_GcfCIDRmxooygu5hNHLgFb-zNGJI2LpyKRP7EniCsdBaQYX2igVzcjZnOldoXwLp6kM9H8BNIQYTTj14UnAIZ3bOPdm7lW2xDvlyI9njDQ6WkrGu5sX1O7c7tAdXzTKXkQH6Vv3ELpxugx9ozXhgakFTJQS85_ZfAAvP9kZ9eXjBWcoG4FlAoKmp4JEYFqE1KYfvH4Bar0_XTxA7nRY-60jMt6iE-nBT9gb3dTO-yEh-oexBKbwYjMI_MnL0Kwj1Vui-aCNY3qHS9IM_hBzra664Uhilok6RfhNbw

13.4 页面访问

https://192.168.68.149:30916
输入上面命令获取到的token后,可以正常访问页面。

avator

免责声明:文章转载自《第四课:部署Dashboard服务》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MFC框架——单文档/多文档/对话框/多顶级文档的区别Sublime text3配置C编译环境下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue+elementui搭建后台管理界面(3侧边栏菜单)

上一节搭好了主框架,但是标签页和侧边栏只是分别展示了各自的菜单,如何将二者联动起来? 定义路由规则:当有 children 属性时,从 children 里取出 path 填充到侧边栏,如: { path: '/', redirect: '/dashboard', name: 'Container', component: Containe...

基于 Nginx 的 HTTPS 性能优化

前言 分享一个卓见云的较多客户遇到HTTPS优化案例。 随着相关浏览器对HTTP协议的“不安全”、红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信、支付宝小程序强制 HTTPS 需求,以及在合规方面如等级保护对传输安全性的要求都在推动 HTTPS 的发展。 虽然 HTTPS 优化了网站访问体验(防劫持)以及让传输更加安全,但是很多网...

Mac搭建kubernetes dashboard全流程

1. 下载dashboard文件: curl -o kubernetes-dashboard.yaml https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml 2. 修改文件: kind:...

K8S从入门到放弃系列-(14)Kubernetes集群Dashboard部署

Dashboard是k8s的web界面,用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用、并对集群本身进行管理,在 Kubernetes Dashboard 中可以查看集群中应用的运行状态。 1、下载yaml配置文件 wget https://raw.githubusercontent.com/kubernetes/dash...

Charles系列二:Charles PC端和手机端抓取HTTP和HTTPS协议请求、HTTPS通用抓包规则

一:HTTP和HTTPS的区别   HTTP是超文本传输协议,被用在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,因此HTTP协议不适合传输一些敏感信息,如:信用卡号,密码等支付信息。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。   两...

GitLab的基础使用-创建项目组(groups)

              GitLab的基础使用-创建项目组(groups)                                         作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.以管理员身份登录GitLab的WebUI 1>.使用管理员登录GitLab   使用管理员(root)用户登录成功后,点击...