学习来源: 51cto: https://edu.51cto.com/sd/518e5
腾讯课堂: https://ke.qq.com/course/2738602
K8s集群环境搭建—基础环境配置(1):https://blog.csdn.net/qq_26900081/article/details/109291999
K8s集群环境搭建—K8s安装(2):https://blog.csdn.net/qq_26900081/article/details/109311033
K8s集群环境搭建—安装Keepalived和HAProxy(3):https://blog.csdn.net/qq_26900081/article/details/109331192
K8s集群环境搭建—K8s集群初始化(4):https://blog.csdn.net/qq_26900081/article/details/109331192
K8s集群环境搭建—安装Metrics和Dashboard(5):https://blog.csdn.net/qq_26900081/article/details/109337475
一、Master1安装Metrics
在新版的Kubernetes中系统资源的采集均使用Metrics-server,可以通过Metrics采集节点和Pod的内存、磁盘、CPU和网络的使用率。
1、下载配置文件:git clone https://github.com/dotbalo/k8s-ha-install.git
git安装:yum install -y git
或者直接在浏览器中打开下载后上传到Master1。
2、修改配置:
将metrics-server-3.6.1/metrics-server-deployment.yaml的front-proxy-ca.pem改为front-proxy-ca.crt
将Master01节点的front-proxy-ca.crt复制到所有Node节点
scp /etc/kubernetes/pki/front-proxy-ca.crt localhost.node1.134:/etc/kubernetes/pki/front-proxy-ca.crt
scp /etc/kubernetes/pki/front-proxy-ca.crt localhost.node2.135:/etc/kubernetes/pki/front-proxy-ca.crt
3、安装:kubectl create -f .
查看安装是否成功:kubectl get pod -n kube-system
安装失败查看日志:kubectl logs -n kube-system metrics-server-769bd9c6f4-5zjkt
如果安装失败需要重新安装:kubectl replace -f .
二、Master1安装Dashboard
官方GitHub,可以查看最新的版本:https://github.com/kubernetes/dashboard
Dashboard用于展示集群中的各类资源,同时也可以通过Dashboard实时查看Pod的日志和在容器中执行一些命令等。
可以在官方dashboard查看到最新版dashboard
1、安装
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
如果报错的话就要先下载配置文件,上传到Master1服务器再安装:
a、在浏览器打开链接地址,复制内容:
https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
b、也可以直接用gitbub里面的:https://github.com/kubernetes/dashboard/tree/master/aio/deploy
再执行命令来安装:kubectl apply -f ./recommended.yaml
2、查看安装结果:kubectl get po -n kubernetes-dashboard
3、更改dashboard的svc为"type: NodePort":kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard
4、查看dashboard端口号:kubectl get svc kubernetes-dashboard -n kubernetes-dashboard
5、生成访问Dashboard的Token: vi dashboardadmin.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
执行以下命令:
kubectl create -f dashboardadmin.yaml -n kube-system
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
6、浏览器根据VIP访问dashboard: https://192.168.70.200:31999/
以Token/令牌方式登录,输入上面得到的token:
7、将Kube-proxy改为ipvs模式,因为在初始化集群的时候注释了ipvs配置,所以需要自行修改一下:
kubectl edit cm kube-proxy -n kube-system
更新Kube-Proxy的Pod:
kubectl patch daemonset kube-proxy -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}" -n kube-system
验证Kube-Proxy模式:curl 127.0.0.1:10249/proxyMode
三、Master1安装kuboard
Kuboard 是一款基于 Kubernetes 的微服务管理界面。目的是帮助用户快速在 Kubernetes 上落地微服务。
Kuboard支持中文,功能比较完善。
1、安装:kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
官方安装文档:https://kuboard.cn/install/install-dashboard.html#%E5%85%BC%E5%AE%B9%E6%80%A7
2、查看Kuboard状态:kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
3、查看端口号:kubectl get service
4、获取登录token:
echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
5、查看端口号:kubectl get svc -n kube-system
6、浏览器打开:http://192.168.70.200:32567/