云容器集群创建,使用、构建日志分析平台

一、搭建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 23h v1.21.7-r0-CCE22.3.1.B012
192.168.1.34 Ready 23h v1.21.7-r0-CCE22.3.1.B012
192.168.1.65 Ready 23h v1.21.7-r0-CCE22.3.1.B012

注:把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 23h v1.21.7-r0-CCE22.3.1.B012
192.168.1.34 Ready 23h v1.21.7-r0-CCE22.3.1.B012
192.168.1.65 Ready 23h v1.21.7-r0-CCE22.3.1.B012

[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

posted @   zky-1  阅读(263)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示