云容器集群创建,使用、构建日志分析平台
一、搭建CCE容器集群
1、k8s项目拓扑
使用 Nginx 搭建 web 集群,动态页面由 PHP 和 Tomcat 集群解析
使用 NFS 存放网页,将访问日志存放在计算节点的 /var/weblog 目录下
弹性部署 PHP、Tomcat 集群服务
2、华为云创建CCE
此集群创建好之后,还不能用,还没有节点,需要创建节点,点击上图 返回集群管理
此时k8s集群已经搭建完毕,有三个node节点,如果需要把集群放入到jumpserver管理,可以直接按照之前添加资产的配置放入,直接使用k8s的用户进行管理即可,使用cce搭建的k8s集群master节点是无法连接的,这里我们使用堡垒机配置kubectl管理node节点
3、kubectl配置
1、下载证书
4、使用kubectl访问k8s-cce
需要先下载kubectl以及配置文件,拷贝到jumpserver主机,完成配置后,即可使用kubectl访问k8s集群
1、下载kubectl:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/README.md 下载与集群版本对应的或者更新的kubectl
2、下载kubectl配置文件:请点击此处(k8s-cce连接信息-kubectl-点击查看 查找)下载(公网apiserver地址变更后请重新下载)
3、安装和配置kubectl:上传kubernetes-client-linux-amd64.tar.gz 和 kubeconfig.json配置文件到jumpserver主机的/root目录下
[root@jumpserver ~]# tar -xf kubernetes-client-linux-amd64.tar.gz
[root@jumpserver ~]# mv kubernetes/client/bin/kubectl /usr/local/bin/
4、登录到jumpserver主机,配置kubectl,若是root用户登录,可以直接执行
[root@jumpserver ~]# mkdir -p $HOME/.kube
[root@jumpserver ~]# mv -f kubeconfig.json $HOME/.kube/config
5、配置kubectl的tab键,节省输入时间
[root@jumpserver ~]# kubectl completion bash >/etc/bash_completion.d/kubectl
[root@jumpserver ~]# kubectl get nodes 可以看到结果
NAME STATUS ROLES AGE VERSION
192.168.1.19 Ready
192.168.1.34 Ready
192.168.1.65 Ready
注:把k8s-cce容器集群的安全组改为和其他云主机的安全组一致,如使用的是default安全组,或者自己设置的其他安全组,否则后面实验会有影响
5、配置集群访问harbor镜像仓库
使用jumpserver主机连接三台k8s计算节点,更改hosts文件,做主机名和IP地址解析,更改daemon.json文件,使其后期可以下载镜像,三台机器都需要配置(以其中一台为例)
方法一:可以通过提前配置好的jumpserver资产连接,配置
[root@jumpserver ~]# ssh k8s@192.168.1.252 -p2222
按p,查看资产,输入id进入相关node节点
[root@k8s-cce-72569-uvmyk ~]# sudo -s
[root@k8s-cce-72569-uvmyk ~]# vim /etc/hosts
192.168.1.100 harbor
[root@k8s-cce-72569-uvmyk ~]# vim /etc/docker/daemon.json
{
"storage-driver": "overlay2", #加上,
"insecure-registries":["harbor:80"] #只添加这一行
}
[root@k8s-cce-72569-uvmyk ~]# systemctl restart docker
方法二:也可以直接连接配置
[root@jumpserver ~]# kubectl get nodes #获取节点IP地址
NAME STATUS ROLES AGE VERSION
192.168.1.19 Ready
192.168.1.34 Ready
192.168.1.65 Ready
[root@jumpserver ~]# ssh 192.168.1.19
[root@k8s-cce-72569-uvmyk ~]# vim /etc/hosts
192.168.1.100 harbor
[root@k8s-cce-72569-uvmyk ~]# vim /etc/docker/daemon.json
{
"storage-driver": "overlay2",
"insecure-registries":["harbor:80"] #只添加这一行
}
[root@k8s-cce-72569-uvmyk ~]# systemctl restart docker
二、搭建ELK集群
1、ELK项目拓扑
2、部署ES集群
主机名称 | IP地址 | 角色 | 规格 |
---|---|---|---|
es-0001 | 192.168.1.71 | Elasticsearc节点 | 2CPU/4G内存 |
es-0002 | 192.168.1.72 | Elasticsearc节点 | 2CPU/4G内存 |
es-0003 | 192.168.1.73 | Elasticsearc节点 | 2CPU/4G内存 |
kibana | 192.168.1.74 | Kibana | 2CPU/4G内存 |
logstash | 192.168.1.75 | Logstash | 2CPU/4G内存 |
把ELK集群机器添加到jumpserver中,使用elk登录jumpserver,可以看到elk集群相关的资产,并使用系统用户elk可以登录资产,添加资产的方式都是一样的,这里不再重复
[root@jumpserver ~]# ssh elk@192.168.1.252 -p2222
输入p,输入id: 1 ,进入es-0001
1.1 配置主机名解析
es-0001主机更改/etc/hosts
[elk@es-0001 ~]$ sudo -s
[root@es-0001 elk]# vim /etc/hosts
192.168.1.71 es-0001
192.168.1.72 es-0002
192.168.1.73 es-0003
192.168.1.74 kibana
192.168.1.75 logstash
将最新的/etc/hosts配置文件更新到所有的云主机上
[root@es-0001 ~]# for i in 192.168.1.{72..75}; do scp /etc/hosts $i:/etc; done
1.2 安装软件
yum源在跳板机jumpserver已经在前面的课程配置好,可以直接使用
[root@es-0001 elk]# for i in 192.168.1.{71..73}; do ssh $i yum -y install java-1.8.0-openjdk; done
检测JDK环境安装是否成功
[root@es-0001 elk]# java -version
es-0001,es-0002,es-0003安装elasticserach
[root@es-0001 elk]# for i in 192.168.1.{71..73}; do ssh $i yum -y install elasticsearch.noarch; done
1.3 更改配置文件
配置es-0001
[root@es-0001 elk]# vim /etc/elasticsearch/elasticsearch.yml
17 cluster.name: es #集群的名称。
23 node.name: es-0001 #该节点主机名。
55 network.host: 0.0.0.0 #任意地址。
68 discovery.zen.ping.unicast.hosts: ["es-0001", "es-0002", "es-0003"] #集群节点主机列表
[root@es-0001 elk]# systemctl enable --now elasticsearch
配置es-0002和0003
[root@es-0001 elk]# scp /etc/elasticsearch/elasticsearch.yml 192.168.1.72:/etc/elasticsearch/
[root@es-0001 elk]# scp /etc/elasticsearch/elasticsearch.yml 192.168.1.73:/etc/elasticsearch/
[root@es-0002 ~]# vim /etc/elasticsearch/elasticsearch.yml
23 node.name: es-0002
[root@es-0002 ~]# systemctl enable --now elasticsearch
[root@es-0003 ~]# vim /etc/elasticsearch/elasticsearch.yml
23 node.name: es-0003
[root@es-0003 ~]# systemctl enable --now elasticsearch
查看ES集群信息
[root@es-0003 ~]# curl -XGET http://192.168.1.71:9200/_cluster/health?pretty
{
"cluster_name" : "es",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
安装head插件:ES官方没有为ES提供界面管理工具,仅仅提供了后台服务。elasticsearch-head是一个为ES开发的web页面客户端工具
部署插件,在配置文件末尾手动添加以下内容即可
[root@es-0001 elk]# vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled : true
http.cors.allow-origin : "*"
http.cors.allow-methods : OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length
[root@es-0001 ~]# systemctl restart elasticsearch
es-0001主机安装head插件,提供访问es的页面
[root@es-0001 elk]# yum -y install httpd
[root@es-0001 elk]# scp 192.168.1.252:/root/5/public/head.tar.gz /root
[root@es-0001 elk]# tar -xf /root/head.tar.gz -C /var/www/html/
[root@es-0001 elk]# vim /etc/httpd/conf/httpd.conf
42 Listen 8081 #更改访问端口,后期其他服务会用80
[root@es-0001 elk]# systemctl enable --now httpd
3、配置ELB
1.1 创建监听器(9200),添加后端服务器群组
服务器列表—>弹性负载均衡ELB—>购买负载均衡ELB—>监听器及后端服务
更改监听器名称,并且配置前端协议端口为9200
配置后端服务器提供服务的端口9200
确认无误,点击提交
1.2 head插件添加
head插件和es的监听一样,只需要监听8081,添加后端服务器群组,把es-0001上面8081端口监听,测试即可
访问head插件:elb的公网ip,http://公网IP:8081/es-head/
默认打开是未连接状态。将http://localhost:9200/改为http://公网IP:9200,并点击连接。
三、部署kibana
kibana是一款开源的数据分析和可视化平台,它是Elastic Stack成员之一。可以使用Kibana对Elasticsearch索引中的数据进行搜索、查看、交互操作。可利用图表、表格等对数据进行多元化的分析和显现
1、安装kibana
输入id:4,进入kibana主机
安装kibana软件包
[elk@kibana ~]$ sudo -s
[root@kibana elk]# yum -y install kibana
更改kibana服务配置文件
[root@kibana elk]# vim /etc/kibana/kibana.yml
2 server.port: 5601 #提供服务的端口
7 server.host: "192.168.1.74" #服务器监听地址
28 elasticsearch.hosts: ["http://192.168.1.71:9200"] #用于查询es主机地址,集群里任选其一
113 i18n.locale: "zh-CN" #这是中文
启动服务器并查看端口是否启用
[root@kibana elk]# systemctl enable --now kibana
[root@kibana elk]# ss -antpu | grep 5601
1.1 配置ELB
通过浏览器访问kibana,华为云弹性负载均衡创建监听器,并添加后端服务器。监听端口为5601,添加后端服务kibana
1.2 访问kibana
浏览器访问:http://公网IP:5601
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)