https://www.cnblogs.com/effortsing/p/10340571.html
k8s开启cadvisor http 服务
cadvisor介绍:
Google的 cAdvisor 是另一个知名的开源容器监控工具。
只需在宿主机上部署cAdvisor容器,用户就可通过Web界面或REST服务访问当前节点和容器的性能数据(CPU、内存、网络、磁盘、文件系统等等),非常详细。
默认cAdvisor是将数据缓存在内存中,数据展示能力有限;它也提供不同的持久化存储后端支持,可以将监控数据保存、汇总到Google BigQuery、InfluxDB或者Redis之上。
新的Kubernetes版本里,cadvior功能已经被集成到了kubelet组件中
需要注意的是,cadvisor的web界面,只能看到单前物理机上容器的信息,其他机器是需要访问对应ip的url,数量少时,很有效果,当数量多时,比较麻烦,所以需要把cadvisor的数据进行汇总、展示,需要用到“cadvisor+influxdb+grafana”组合
Cadvisor监控,只需要 在kubelet命令中,启用Cadvisor,和配置相关信息 ,即可
(1)在/etc/kubernetes/kubelet 加入如下 参数:
CADVISOR="--cadvisor-port=4194 --storage-driver-db='cadvisor' --storage-driver-host='localhost:8086'"
(2)修改/etc/systemd/system/kubelet.service
在ExecStart=xxx 后面加上$CADVISOR
(3)重启kubelet
systemctl daemon-reload
systemctl restart kubelet
systemctl status kubelet -l
(4)访问
下面是具体操作过程:
开启前查kubelet开启的所有端口:
[root@test1 ~]# netstat -lnpt|grep kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 10361/kubelet
tcp 0 0 192.168.0.91:10250 0.0.0.0:* LISTEN 10361/kubelet
tcp6 0 0 :::41660 :::* LISTEN 10361/kubelet
这个时候是没有4194端口的,所以无法访问,下面来修改kubelet配置文件开启4194端口
systemctl stop kubelet
rm -rf /etc/kubernetes/kubelet
rm -rf /etc/systemd/system/kubelet.service
cat >/etc/kubernetes/kubelet<
KUBELET_HOSTNAME="--hostname-override=test2"
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause-amd64:3.1"
KUBELET_CONFIG="--config=/etc/kubernetes/kubelet-config.yml"
CADVISOR="--cadvisor-port=4194 --storage-driver-db='cadvisor' --storage-driver-host='localhost:8086'"
KUBELET_ARGS="--bootstrap-kubeconfig=/etc/kubernetes/kubelet-bootstrap.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cert-dir=/etc/kubernetes/pki --network-plugin=cni --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d"
EOF
cat >/etc/systemd/system/kubelet.service<
[Unit]
Description=Kubernetes Kubelet Server
Documentation=
After=docker.service
Requires=docker.service
[Service]
WorkingDirectory=/data/kubelet
EnvironmentFile=-/etc/kubernetes/config
EnvironmentFile=-/etc/kubernetes/kubelet
ExecStart=/usr/local/kubernetes/bin/kubelet \\
\$KUBE_LOGTOSTDERR \\
\$KUBE_LOG_LEVEL \\
\$KUBELET_CONFIG \\
\$KUBELET_HOSTNAME \\
\$KUBELET_POD_INFRA_CONTAINER \\
\$KUBELET_ARGS \\
\$CADVISOR
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl restart kubelet
systemctl status kubelet -l
查看端口
[root@test1 ~]# netstat -lnpt|grep kubelet
tcp 0 0 192.168.0.91:4194 0.0.0.0:* LISTEN 10361/kubelet
tcp 0 0 127.0.0.1:10248 0.0.0.0:* LISTEN 10361/kubelet
tcp 0 0 192.168.0.91:10250 0.0.0.0:* LISTEN 10361/kubelet
tcp6 0 0 :::41660 :::* LISTEN 10361/kubelet
此时可以看到4194端口
浏览器访问
参照文档:
http://blog.itpub.net/10995764/viewspace-2124022/
阅读(11929) | 评论(0) | 转发(0) |