前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kubernetes Events事件收集与监控实战

Kubernetes Events事件收集与监控实战

作者头像
用户1107783
发布2024-02-26 15:25:49
960
发布2024-02-26 15:25:49
举报

背景概述

大家好,我是安若,前两天群里的小伙伴问到Kubernetes的Event事件收集、监控告警该如何进行,那么这次就乘此机会分享一下当前使用的方案。仅供参考哦,当然如果有任何问题可以公众号回复加群一起交流一下。

成品展示

本次仅分享events展示,并没有涉及到告警相关的,等下次有机会了再次分享一下吧。

这里的词云没有展示出来,因为需要安装插件,可自行进行安装配置。

实战案例

环境说明

Exporter部署

代码语言:javascript
复制
[root@192 deploy]# cat 00-roles.yaml  
apiVersion: v1
kind: Namespace
metadata:
  name: kube-ops
---
apiVersion: v1
kind: ServiceAccount
metadata:
  namespace: kube-ops
  name: event-exporter
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: event-exporter
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: view
subjects:
  - kind: ServiceAccount
    namespace: kube-ops
    name: event-exporter
代码语言:javascript
复制
[root@192 deploy]# cat 02-deployment.yaml  
apiVersion: apps/v1
kind: Deployment
metadata:
  name: event-exporter
  namespace: kube-ops
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: event-exporter
        version: v1
    spec:
      serviceAccountName: event-exporter
      containers:
        - name: event-exporter
          image: m.daocloud.io/ghcr.io/opsgenie/kubernetes-event-exporter:v0.11
          imagePullPolicy: IfNotPresent
          args:
            - -conf=/data/config.yaml
          volumeMounts:
            - mountPath: /data
              name: cfg
      volumes:
        - name: cfg
          configMap:
            name: event-exporter-cfg
  selector:
    matchLabels:
      app: event-exporter
      version: v1

执行以上yaml文件,这里就直接略过了。不会自行百度。

Elasticsearch部署

  • 下载elasticsearch压缩包
代码语言:javascript
复制
# wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.10.4-linux-x86_64.tar.gz
  • 解压
代码语言:javascript
复制
### 创建存放包的文件夹
# mkdir /data/soft -p

# tar -xvf elasticsearch-8.10.4-linux-x86_64.tar.gz  -C /data/soft/
  • 修改配置文件 config/elasticsearch.yml
代码语言:javascript
复制
cluster.name: my-elk
node.name: node-1
path.data: /data/soft/elasticsearch-8.10.4/data
path.logs: /data/soft/elasticsearch-8.10.4/logs
network.host: 0.0.0.0
http.port: 9200
  • 修改系统配置
代码语言:javascript
复制
# cat >> /etc/security/limits.conf <<EOF

es             hard           nofile        65535
es             soft           nofile        65535
es                            nproc         4096
es             hard           memlock       unlimited
es             soft           memlock       unlimited

EOF

# cat >>  /etc/sysctl.conf <<EOF

vm.swappiness=1
vm.max_map_count=262144
EOF

### 使其生效

# sysctl --system
# su -  root
  • 创建启动用户
代码语言:javascript
复制
# useradd es
  • 修改文件权限
代码语言:javascript
复制
#  chown es:es elasticsearch-8.10.4/ -R
  • 创建systemctl启动配置
代码语言:javascript
复制
# /etc/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

[Service]
User=es
ExecStart=/data/soft/elasticsearch-8.10.4/bin/elasticsearch
TimeoutStopSec=20
Restart=always
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

关于如何reload、启动这里就直接略过了哦。不会自行百度。

重置elasticsearch密码

代码语言:javascript
复制
# ./elasticsearch-reset-password -u elastic  
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [elastic] user successfully reset.
New value: l5tL-0v74o15RlMzVkY

当我们为elastic用户重置密码时,输入确定后,即可生成一个新的密码,这里的密码为:l5tL-0v74o15RlMzVkY

Grafana部署

  • 下载Grafana压缩包
代码语言:javascript
复制
wget  https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.2.linux-amd64.tar.gz
  • 解压
代码语言:javascript
复制
tar -xvf    grafana-enterprise-9.4.2.linux-amd64.tar.gz   -C   /data/soft
  • 启动
代码语言:javascript
复制
  nohup ./grafana-server  >/dev/null 2>&1 &

我这里直接使用的nohup启动,当然你也可以在kubernetes、docker中部署等等。

Grafana连接Elastic

其中这里的ca是elasitc中的,具体路径为config/certs/http_ca.crt ,这里的Password为我们重置后的es密码。

这里就不做过多的解释了。不明白的,加群问吧。

导入dashboard

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生运维圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景概述
  • 成品展示
  • 实战案例
    • 环境说明
      • Exporter部署
      • Elasticsearch部署
        • Grafana部署
          • Grafana连接Elastic
            • 导入dashboard
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档