k8s開啟cadvisor http 服務


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)訪問http://192.168.0.91:4194/



下面是具體操作過程:


開啟前查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<<EOF
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<<EOF
[Unit]
Description=Kubernetes Kubelet Server
Documentation=https://github.com/kubernetes/kubernetes
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://192.168.0.91:4194/


參照文檔:

http://blog.itpub.net/10995764/viewspace-2124022/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM