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

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端口:

进入kibana管理进行配置:
