戴志强1
Published on 2025-09-24 / 54 Visits
0
0

自动化部署ELK

自动化部署ELK

使用自动化部署脚本部署ELK日志系统,适用于现有的k8s集群

ELK架构图:

幻灯片2.jpg

1. 资源包准备

前提: 确定现有的k8s集群使用的镜像仓库地址(根据自己的实际情况来)是: 192.168.1.1:5000

安装ELK镜像包: 导入elk 文件夹内的ELK相关镜像, 执行以下的命令, 将本地镜像都导入到镜像仓库:

# 如果镜像仓库需要登录, 先使用docker login 登录到镜像仓库
tar -xvf elk.tar
cd elk
chmod 755 install_image.sh
# 将kibana镜像也拷贝到elk目录下
# 安装镜像
./install_image.sh 192.168.1.1:5000

解压ansible_root部署包: 将ansible_root.tar.gz 自动化部署包放在在master 机器节点上的/root 目录下, 执行以下的命令解压:

tar -xvf ansible_root.tar.gz

2. 配置

推荐 ansible部署机和kk部署机 使用同一台服务器。

2.1 配置master主机信息

这里处于自动化部署的k8s_app阶段,所有只需要更改ansible_root/host.ini 该文件,添加k8s master节点的ip 地址跟访问账号:

cat host.ini

# hosts.ini
[host_broker_nfs]


[host_broker_mysql]


[host_broker_mysql_hw]


[host_broker_docker_registry]


[host_kk]


[k8s_master]
192.168.1.111 ansible_user=root ansible_password=123456


[k8s_node]

# 仅用于部署日志监控
[host_monitor]
192.168.1.111

[all:vars]
ansible_user=root
ansible_ssh_pass=123456


2.2 配置k8s_app相关配置

cat vars/k8s_app.yml

# k8s app, 中间件安装环境配置
imom_namespace: "imom"
imom_common_namespace: "common"
imom_elk_namespace: "elk"
hw_namespace: "mbm"
image_pull_secrets: "default-secret"
default_storage_class: "nfs-client"
redis_master_address: "你的REDIS Service DNS 地址"
redis_password: "Dme123456"

其中:1. imom_namespace, imom_common_namespace 是赛意项目的k8s命名空间; imom_elk_namespace 是ELK日志系统的命名空间; hw_namespace 为华为项目的命名空间。 2. 根据实际情况修改redis的配置。

如果命名空间没创建,使用以下的命令方式创建命名空间:

kubectl create ns elk
kubectl create ns imom
kubectl create ns common
kubectl create ns mbm

2. 自动化部署

进入 /root/ansible_root 目录, 确认broker_images 目录存在 centos7-ansible_latest.tar 文件, 然后执行:

# 设置脚本可被执行
chmod 755 auto.sh
# 开始自动化部署
./auto.sh k8s_app_broker elk

耐心等待elk中间件部署完成。

3. 进入kibana管理页面

查看kibana svc NodePort端口:

截屏2025-09-24 上午11.33.38.jpg

进入kibana管理进行配置:

截屏2025-09-24 上午11.35.12.jpg


Comment