安装
通过Helm安装
你可以通过Helm来安装生产可用的KubeSkoop实例。
执行以下命令,将KubeSkoop仓库添加到Helm中并安装KubeSkoop:
# 添加kubeskoop repo
helm repo add kubeskoop https://kubeskoop.io/
# 更新helm repo
helm repo update
# 安装kubeskoop
helm install -n kubeskoop kubeskoop kubeskoop/kubeskoop
该命令将会将KubeSkoop
安装至kubeskoop
命名空间,并默认开启KubeSkoop
的agent、controller和webconsole组件。
自定义配置
你可以执行以下命令查看helm chart中可以配置的值。
helm show values kubeskoop/kubeskoop
你可以将值保存至values.yaml
文件中,对你需要的参数进行修改,然后进行KubeSkoop的安装。
# 若你已经安装了KubeSkoop,你可以通过`helm upgrade`命令对其进行更新。
helm install -f values.yaml -n kubeskoop kubeskoop kubeskoop/kubeskoop
你也可以使用--set
来进行简单的配置。
helm install --set controller.config.prometheusEndpoint=http://prometheus -n kubeskoop kubeskoop kubeskoop/kubeskoop
配置探针
在配置中的config
一节,可以对所需开启的指标/事件探针进行配置。默认配置如下:
config:
metricProbes:
- name: conntrack
- name: qdisc
- name: netdev
- name: io
- name: sock
- name: tcpsummary
- name: tcp
- name: tcpext
- name: udp
- name: kernellatency
- name: packetloss
- name: flow
args:
enablePortInLabel: false
- name: tcpretrans
eventProbes:
- name: biolatency
- name: kernellatency
- name: packetloss
args:
enableStack: false
- name: tcpreset
- name: tcpretrans
eventSinks:
- name: stderr
关于探针的更多信息,请见文档。
配置Prometheus和Loki端点地址
Web控制台的部分功能(如网络链路图、异常事件)依赖Prometheus和Loki。你需要在Helm安装时提供Prometheus和Loki服务的端点地址。
提示
若没有已经就绪的Prometheus或Loki实例,可以参考以下文档:
- 参考 Prometheus的安装 完成Prometheus的部署安装。
- 参考 使用Helm安装Loki 完成Loki的部署安装。
在controller.config
一节中配置prometheusEndpoint
和lokiEndpoint
。
假设Prometheus和Loki安装在monitoring
命名空间,并且service名称分别为prometheus
和loki
,示例配置如下:
controller:
enabled: true
config:
# 配置prometheus的端点地址。
prometheusEndpoint: 'http://prometheus.monitoring:9090'
# 配置loki的端点地址。
lokiEndpoint: 'http://loki.monitoring:3100'
同时,需要在config.eventSink
中配置事件收集器,使事件能够通过Loki收集。
config:
# ...其它探针配置
eventSinks:
- name: stderr
# 配置loki事件收集器,并指定地址为loki的service地址。
- name: loki
args:
addr: 'http://loki.monitoring:3100'
最后,通过helm install
或者helm upgrade
对KubeSkoop进行安装/更新。