接下来执行获取Bearer Token的命令,具体如下:
qiaodeMacBook-Pro-2:.kube qiaojiang$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk \'{print $1}\') Name: admin-user-token-xxq2b Namespace: kubernetes-dashboard Labels: <none> Annotations: kubernetes.io/service-account.name: admin-user kubernetes.io/service-account.uid: 213dce75-4063-4555-842a-904cf4e88ed1 Type: kubernetes.io/service-account-token Data ==== ca.crt: 1025 bytes namespace: 20 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6IlplSHRwcXhNREs0SUJPcTZIYU1kT0pidlFuOFJaVXYzLWx0c1BOZzZZY28ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXh4cTJiIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIyMTNkY2U3NS00MDYzLTQ1NTUtODQyYS05MDRjZjRlODhlZDEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.MIjSewAk4aVgVCU6fnBBLtIH7PJzcDUozaUoVGJPUu-TZSbRZHotugvrvd8Ek_f5urfyYhj14y1BSe1EXw3nINmo4J7bMI94T_f4HvSFW1RUznfWZ_uq24qKjNgqy4HrSfmickav2PmGv4TtumjhbziMreQ3jfmaPZvPqOa6Xmv1uhytLw3G6m5tRS97kl0i8A1lqnOWu7COJX0TtPkDrXiPPX9IzaGrp3Hd0pKHWrI_-orxsI5mmFj0cQZt1ncHarCssVnyHkWQqtle4ljV2HAO-bgY1j0E1pOPTlzpmSSbmAmedXZym77N10YNaIqtWvFjxMzhFqeTPNo539V1Gg获取Token后回到前面的认证方式选择界面,将获取的Token信息填入就可以正式进入Dashboard的系统界面,看到Kubernetes集群的详细可视化信息了,如图所示:
到这里就完成了Kubernetes可视化插件的部署并通过本地Proxy的方式进行了登录。在实际的生产环境中如果觉得每次通过本地Proxy的方式进行访问不够方便,也可以使用Ingress方式配置集群外访问Dashboard,感兴趣的读者可以自行尝试下。也可以先通过通过暴露端口,设置dashboard的访问,例如:
#查看svc名称 # kubectl get sc -n kubernetes-dashboard # kubectl edit services -n kubernetes-dashboard kubernetes-dashboard然后修改配置文件,如下:
ports: - nodePort: 30000 port: 443 protocol: TCP targetPort: 8443 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: NodePort之后就可以通过IP+nodePort端口访问了!例如:
https://47.98.33.48:30000/ 08、Master调整Taint/Toleration策略**在前面我们提到过,Kubernetes集群的Master节点默认情况下是不能运行用户Pod的。而之所以能够达到这样的效果,Kubernetes依靠的正是Taint/Toleration机制;而该机制的原理是一旦某个节点被加上“Taint”就表示该节点被“打上了污点”,那么所有的Pod就不能再在这个节点上运行。
而Master节点之所以不能运行用户Pod,就在于其运行成功后会为自身节点打上“Taint”从而达到禁止其他用户Pod运行在Master节点上的效果(不影响已经运行的Pod),具体可以通过命令查看Master节点上的相关信息,命令执行效果如下:
root@kubenetesnode02:~# kubectl describe node kubernetesnode01 Name: kubernetesnode01 Roles: master ... Taints: node-role.kubernetes.io/master:NoSchedule ...可以看到Master节点默认被加上了“node-role.kubernetes.io/master:NoSchedule”这样的“污点”,其中的值“NoSchedule”意味着这个Taint只会在调度新的Pod时产生作用,而不会影响在该节点上已经运行的Pod。如果在实验中只想要一个单节点的Kubernetes,那么可以在删除Master节点上的这个Taint,具体命令如下:
root@kubernetesnode01:~# kubectl taint nodes --all node-role.kubernetes.io/master-上述命令通过在“nodes --all node-role.kubernetes.io/master”这个键后面加一个短横线“-”表示移除所有以该键为键的Taint。
到这一步,一个基本的Kubernetes集群就部署完成了,通过kubeadm这样的原生管理工具,Kubernetes的部署被大大简化了,其中像证书、授权及各个组件配置等最麻烦的操作,kubeadm都帮我们完成了。
09、Kubernetes集群重启命令如果服务器断电,或者重启,可通过如下命令重启集群:
#重启docker systemctl daemon-reload systemctl restart docker #重启kubelet systemctl restart kubelet.service以上就是在CentOS 7 系统环境下搭建一组Kubernetes学习集群的详细步骤,其它Linux发行版本的部署方法也类似,大家可以根据自己的需求选择!
写在最后欢迎大家关注我的公众号【风平浪静如码】,海量Java相关文章,学习资料都会在里面更新,整理的资料也会放在里面。
觉得写的还不错的就点个赞,加个关注呗!点关注,不迷路,持续更新!!!