kubeadm部署单master节点( 六 )

NAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGESELECTORservice/kubernetesClusterIP10.96.0.1443/TCP24hservice/nginxNodePort10.96.5.20580:32627/TCP29mapp=nginx打印的结果中 , 前半部分是pod相关信息 , 后半部分是service相关信息 。 我们看service/nginx这一行可以看出service暴漏给集群的端口是32627 。 记住这个端口 。
然后从pod的详细信息可以看出此时pod在node1节点之上 。 node1节点的IP地址是192.168.50.129
(2)访问nginx验证集群那现在我们访问一下 。 打开浏览器(建议火狐浏览器) , 访问地址就是:
kubeadm部署单master节点文章插图
3.2、安装dashboard(1)创建dashboard先把dashboard的配置文件下载下来 。 由于我们之前已经添加了hosts解析 , 因此可以下载 。
~]# curl -o recommended.yaml默认Dashboard只能集群内部访问 , 修改Service为NodePort类型 , 暴露到外部:
大概在此文件的32-44行之间 , 修改为如下:
kind: ServiceapiVersion: v1metadata:labels:k8s-app: kubernetes-dashboardname: kubernetes-dashboardnamespace: kube-systemspec:type: NodePort#加上此行ports:- port: 443targetPort: 8443nodePort: 30001#加上此行 , 端口30001可以自行定义selector:k8s-app: kubernetes-dashboard

  • 运行此yaml文件
[root@master ~]# kubectl apply -f recommended.yaml namespace/kubernetes-dashboard createdserviceaccount/kubernetes-dashboard createdservice/kubernetes-dashboard createdsecret/kubernetes-dashboard-certs created...service/dashboard-metrics-scraper createddeployment.apps/dashboard-metrics-scraper created
  • 查看dashboard运行是否正常
[root@master ~]# kubectl get pod,svc -n kubernetes-dashboard -o wideNAMEREADYSTATUSRESTARTSAGEIPNODEpod/dashboard-metrics-scraper-76585494d8-vd9w61/1Running04h50m10.244.2.3node2pod/kubernetes-dashboard-594b99b6f4-72zxw1/1Running04h50m10.244.2.2node2NAMETYPECLUSTER-IPEXTERNAL-IPPORT(S)AGESELECTORservice/dashboard-metrics-scraperClusterIP10.96.45.1108000/TCP4h50mk8s-app=dashboard-metrics-scraperservice/kubernetes-dashboardNodePort10.96.217.29443:30001/TCP4h50mk8s-app=kubernetes-dashboard从上面可以看出 , kubernetes-dashboard-594b99b6f4-72zxw运行所在的节点是node2上面 , 并且暴漏出来的端口是30001 , 所以访问地址是:
  • 浏览器访问
访问的时候会让输入token , 从此处可以查看到token的值 。
~]# kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
kubeadm部署单master节点文章插图
把上面的token值输入进去即可进去dashboard界面 。
不过现在我们虽然可以登陆上去 , 但是我们权限不够还查看不了集群信息 , 因为我们还没有绑定集群角色 , 同学们可以先按照上面的尝试一下 , 再来做下面的步骤
(2)cluster-admin管理员角色绑定~]# 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}')