如何使用Helm在Kubernetes上安装Netdata
Netdata是用于监视和故障排除系统的开源解决方案。它可用于监视kubernetes集群并显示有关集群的信息,包括节点内存使用率,CPU,网络等。
Netdata仪表板可让我们全面了解Kubernetes集群,包括在每个节点上运行的服务和Pod。
在本文中,我们将介绍如何使用Helm图表在Kubernetes集群上部署Netdata。这种安装在每个工作节点上的主Pod和子Pod上部署一个父Pod。
子Pod从运行它们的节点收集度量,从节点收集kube-proxy,kubelet和cgroup度量。
子节点还使用通用的Prometheus收集器和服务发现来传递指标。
准备工作
在我们的群集上安装Netdata之前,我们需要满足以下条件:一个功能完整的Kubernetes群集v1.9及更高版本.Kubectl命令行工具Helm软件包管理器3.0.0及更高版本。
使用Helm在Kubernetes上安装Netdata
使用以下步骤通过Helm图表在Kubernetes集群中安装Netdata。
在Linux或macOS上安装Helm
这些是在Linux或macOS上安装Helm的步骤。从此链接下载Helm软件包
使用tar -xvzf <downloaded-package>
提取软件包将二进制文件移动到usr/local/bin/helm
我们将使用自动执行上述步骤的安装脚本。
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 chmod 700 get_helm.sh sudo ./get_helm.sh
macOS用户还可以使用Brew软件包管理工具。
$brew install helm
安装完成后,请检查当前版本以确认:
$helm version version.BuildInfo{Version:"v3.4.0", GitCommit:"7090a89efc8a18f3d8178bf47d2462450349a004", GitTreeState:"clean", GoVersion:"go1.14.10"}
添加头盔图表存储库,然后更新头盔
$helm repo add stable https://charts.helm.sh/stable $helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "stable" chart repository Update Complete. ⎈Happy Helming!⎈
使用Helm图表安装Netdata
我们可以使用两种方法安装Helm图表:从Netdatas Helm存储库安装克隆Netdata Git存储库。
我们将探讨两种方法
从Helm存储库安装
添加Netdatas Helm存储库,然后安装Helm图表
helm repo add netdata https://netdata.github.io/helmchart/ helm install netdata netdata/netdata
克隆Github存储库
确保我们已将git安装到系统上
在本地克隆git存储库
git clone https://github.com/netdata/helmchart.git netdata-helmchart
安装图表
helm install netdata ./netdata-helmchart/charts/netdata
现在,我们可以通过以下方式查看头盔部署:
$helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION netdata default 1 2017-11-20 18:41:46.244774507 +0000 UTC deployed netdata-3.1.0 v1.26.0
要检查父容器和子容器是否已成功部署:
$kubectl get pods NAME READY STATUS RESTARTS AGE netdata-child-fgh5c 2/2 Running 0 16h netdata-child-qzhjp 2/2 Running 0 16h netdata-child-ssmhp 2/2 Running 0 16h netdata-parent-55d88fc784-x66ss 1/1 Running 0 16h
使用NodePort公开Netdata-parent
在本教程中,我们将使用NodePort公开netdata部署
Netdata默认配置为在端口19999上运行。
要公开端口,请使用以下命令:
$kubectl expose deployment netdata-parent --type="NodePort" --port 19999
现在,我们可以使用" kubectl get service"命令来检查服务已公开的端口:
$kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 21h netdata ClusterIP 10.99.202.135 <none> 19999/TCP 17h netdata-parent NodePort 10.97.24.181 <none> 19999:30939/TCP 16h
在我们的部署中,netdata-parent服务已公开给端口30939.
我们现在可以通过http://<yourmaster-IP>:NodePort访问浏览器中的netdata仪表板。
例如" http://172.16.1.4:30939"是我们的信息中心的网址。
我们可以检查左窗格中列出的所有节点的指标,如下面的屏幕截图所示。
然后,我们可以选择任何节点来检查统计信息