好玩的K8s之系统监控01:安装Kubernetes Dashboard

一、安装前说明

1.参考资料

以下内容参考自腾讯课堂付费课“Prometheus+Grafana搭建全方位的监控告警系统“,大家最好去买视频听一下

2.实验版本

本实验主要照着老师的视频做的记录(熟悉以后再研究一下装最新版本的),所需的版本信息如下:

docker:视频里老师用的是18.x,我用19.03.8好像也没有问题

k8s: 1.17.3

        kubelet=1.17.3-00 

        kubectl=1.17.3-00 

        kubernetes-cni=0.8.7-00 

        kubeadm=1.17.3-00

各个image版本如下,可以事先从阿里云下载下来

#k8s系统image

registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy v1.17.3

registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager v1.17.3

registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver  v1.17.3 

registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler  v1.17.3 

registry.cn-hangzhou.aliyuncs.com/google_containers/coredns  1.6.5

registry.cn-hangzhou.aliyuncs.com/google_containers/etcd  3.4.3-0

registry.cn-hangzhou.aliyuncs.com/google_containers/pause  3.1

#calico系统image

calico/pod2daemon-flexvol v3.11.3

calico/cni  v3.11.3

#kubernetes-dashboard image

k8s.gcr.io/kubernetes-dashboard-amd64      v1.10.1

registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64 v1.10.1

#metrics image

k8s.gcr.io/addon-resizer 1.8.4

k8s.gcr.io/metrics-server-amd64

#prometheus image

prom/node-exporter v0.16.0

prom/prometheus  v2.2.1

#grafana image

#k8s.gcr.io/heapster-grafana-amd64      v5.0.4

#other image

quay.io/coreos/kube-state-metrics      v1.9.0

kubernetesui/metrics-scraper      v1.0.0


二、安装步骤

1.安装kubernetes-dashboard界面

1) 安装过程

kubectl apply -f kubernetes-dashboard.yaml

kubernetes-dashboard.yaml

由于kubernetes-dashboard.yaml里面的image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1访问不了

有两种解决方法:

方法1:(最简单)

在yaml文件中把它换成

image: registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1

方法2:

先下载image文件(注意在所有node节点上,通过kubectl get pod -o wide -n kube-system发现这个pod在node节点运行)

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1

然后为image打tag

$ sudo docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1  k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

再安装dashboard

kubectl apply -f kubernetes-dashboard.yaml

方法3:

通过其他方法下载image文件,然后docker load image文件(注意在所有node节点上)

$ sudo docker load -i kubernetes-dashboard-amd64-v1.10.1.tar.gz

查看images的tag

$ sudo docker images

查看REPOSITORY为 kubernetes-dashboard-amd64的REPOSITORY:TAG

然后为image打tag

$ sudo docker tag source_tag  k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

其中source_tag为REPOSITORY:TAG

再安装dashboard

kubectl apply -f kubernetes-dashboard.yaml

2) 验证结果

$ kubectl get pods -n kube-system -o wide

查看pod STATUS状态是否均为Running,若是,说明组件正常

2.安装metrics监控插件

1) 安装过程

kubectl apply -f metrics.yaml 

同样的,由于metrics.yaml里面的k8s.gcr.io/addon-resizer:1.8.4和k8s.gcr.io/metrics-server-amd64:v0.3.1访问不了,

把它换成了

image: registry.cn-hangzhou.aliyuncs.com/google_containers/addon-resizer:1.8.4

image: registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.1

2) 验证结果

$ kubectl get pods -n kube-system

查看pod STATUS状态是否均为Running,若是,说明组件正常


查看端口 ss -antupl |grep 10252

六、附录

1.几个ip:port的关系

集群外部访问k8s集群中pod应用,流量走向:

物理节点ip:port--->service ip:port-->pod ip:port

以32108端口应用为例

1)物理节点ip:port

$ifconfig

2)service ip:port

kubectl get svc -n kube-system -o wide

        kube-controller NodePort 10.108.20.16 10252:32108/TCP 25m

物理节点ip:port访问测试: 

$ curl 10.1.13.162:32108/metrics

既可以在master或者node节点上执行,也可以通过浏览器访问URL地址

service ip:port访问测试:

$ curl 10.108.20.16:10252/metrics

既可以在master或者node节点上执行,也可以通过浏览器访问URL地址

3)pod ip:port

$ kubectl get pod -n kube-system -o wide

    kube-controller-manager-k8s-master 1/1 Running 5 5d7h 10.1.13.162

pod ip:port访问测试:

$ curl 10.1.13.162:32108/metrics

只能在master或者node节点上执行,不能通过浏览器访问URL地址

你可能感兴趣的:(好玩的K8s之系统监控01:安装Kubernetes Dashboard)