自动化运维中间件架构概况

自动化运维中间件架构概况

kubernetes+jenkins

安装k8s后

  1. 设置 Jenkins 任务 :
    • 在 Jenkins 中创建一个新的任务:
      • 配置源代码管理:选择 Git,并提供 GitLab 仓库的 URL、凭据和分支信息。
      • 配置构建步骤:选择 Maven 构建,并设置 Maven 的路径和构建命令(例如,clean install)。
      • 配置后续操作:
        • 如果您要部署到 Kubernetes,请使用 Kubernetes 插件或者 kubectl 命令在 Jenkins 中配置 Kubernetes 集群的凭据和服务器信息。
        • 如果您需要其它定制化操作,可以添加适当的插件或脚本。

Prometheus+grafana

  1. 安装和配置 Prometheus:

    • 下载并安装 Prometheus:访问 Prometheus 官方网站(https://prometheus.io/download),选择适合您操作系统的版本,并按照官方文档进行安装。

    • 编辑 Prometheus 配置文件:

      • 打开 Prometheus 的配置文件 prometheus.yml,根据需要配置要监控的目标和指标。

      • 示例配置文件内容如下:

        yaml复制代码scrape_configs:
          - job_name: 'node_exporter'
            static_configs:
              - targets: ['localhost:9100']
        
      • 上述示例配置了一个名为 node_exporter 的作业,监控本地主机的 9100 端口上运行的 node_exporter

  2. 启动 Prometheus:

    • 使用命令行启动 Prometheus,指定配置文件的路径。例如:./prometheus --config.file=prometheus.yml
  3. 安装和配置 Grafana:

  4. 创建监控面板:

    • 在 Grafana 中创建监控面板:
      • 导航到 Grafana 主界面,单击 "Create" 或 "+" 创建新的面板。
      • 选择数据源为 Prometheus,并根据需求定义查询和指标。
      • 使用 Grafana 的丰富可视化组件和选项,创建自定义的监控面板。
      • 配置面板的样式、布局和警报规则等。
  5. 展示和共享:

    • 在 Grafana 中展示和共享监控面板:
      • 在 Grafana 中访问创建的监控面板,查看实时的监控数据和图表。
      • 可以将面板导出为图片或 PDF,或者使用 Grafana 的共享功能将面板链接分享给其他人。

ELK

简单了解

ELK,通常是指 Elasticsearch、Logstash 和 Kibana 这三个开源工具的组合。ELK 被广泛用于日志管理与分析,它们各自的功能如下:

  1. Elasticsearch :
    • Elasticsearch 是一个分布式、RESTful 的搜索和分析引擎,用于存储、搜索和分析数据。它可以快速地索引大量数据,并提供复杂的搜索、聚合和分析功能。
    • 您可以使用 Elasticsearch 来存储各种类型的数据,包括结构化数据、非结构化数据和时间序列数据(如日志)。
  2. Logstash :
    • Logstash 是一个用于收集、处理和转发数据的工具。它支持从多种来源收集数据,经过过滤和转换后将数据发送到各种目的地。
    • Logstash 通常用于收集日志数据,对数据进行结构化处理,并将数据发送到 Elasticsearch 或其他存储/分析系统中。
  3. Kibana :
    • Kibana 是一个用于数据可视化和分析的工具,它提供了丰富的图表、表格和地图等可视化组件,帮助用户直观地理解和分析存储在 Elasticsearch 中的数据。
    • 使用 Kibana,您可以创建各种类型的仪表盘和报表,以及执行复杂的数据分析和查询操作。

安装和配置

  1. 安装和配置 Elasticsearch:

  2. 安装和配置 Logstash:

    • 下载并安装 Logstash:访问 https://www.elastic.co/downloads/logstash,选择适合您操作系统的版本,并按照官方文档进行安装。

    • 创建 Logstash 配置文件:

      • 编辑一个 .conf 文件,定义数据来源、过滤器和输出目的地。例如,您可以创建一个 logstash.conf 文件,指定从标准输入读取数据,并将数据发送到 Elasticsearch 中。

      • 示例配置文件内容如下:

        yaml 复制代码
        复制代码input {
          stdin { }
        }
        output {
          elasticsearch {
            hosts => ["localhost:9200"]
            index => "myindex-%{+YYYY.MM.dd}"
          }
        }
    • 启动 Logstash:使用命令行运行 Logstash,并指定上面创建的配置文件。例如:bin/logstash -f logstash.conf

  3. 安装和配置 Kibana:

  4. 集成和使用:

    • 将 Logstash 配置为将收集的数据发送到 Elasticsearch 中:根据您的需求,编辑 Logstash 配置文件,配置数据的来源和输出目的地。
    • 使用 Kibana 创建仪表盘、可视化图表和执行数据查询分析:在 Kibana 界面上,通过"Management"设置索引模式,然后使用"Discover"和"Visualize"功能来创建仪表盘和可视化图表。

Gitlab+Maven+Jenkins 构建CICD流程

  1. 配置 Jenkins 服务器:
  2. 安装必要的插件:
    • 在 Jenkins 控制台中,点击左侧导航栏的 "Manage Jenkins"。
    • 然后选择 "Manage Plugins"。
    • 切换到 "Available" 选项卡,搜索并选择安装 "GitLab Plugin" 和 "Maven Integration plugin" 插件。
    • 安装完成后,重启 Jenkins 服务。
  3. 配置 GitLab 凭据:
    • 在 Jenkins 控制台中,点击左侧导航栏的 "Credentials"。
    • 点击 "System" 下的 "Global credentials"。
    • 点击 "Add Credentials"。
    • 在 "Kind" 中选择 "Username with password"。
    • 输入您的 GitLab 用户名和访问令牌,并为凭据提供一个描述。
    • 点击 "OK" 保存凭据。
  4. 创建 Jenkins 项目:
    • 在 Jenkins 控制台中,点击左侧导航栏的 "New Item"。
    • 输入项目名称,并选择 "Freestyle project" 或 "Pipeline"。
    • 点击 "OK" 创建项目。
  5. 配置 Jenkins 项目:
    • 在 "General" 部分,选择 "Git" 作为源码管理器,并提供您的 GitLab 仓库 URL。
    • 在 "Credentials" 中,选择您之前配置的 GitLab 凭据。
    • 在 "Branches to build" 中,选择您要构建的分支。
    • 其他设置根据您的需求进行配置。
  6. 添加构建步骤:
    • 在 "Build" 部分,点击 "Add build step",选择 "Invoke top-level Maven targets"。
    • 在 "Goals" 中,输入您需要运行的 Maven 命令,例如 "clean install"。
    • 其他设置根据您的需求进行配置。
  7. 集成测试和部署:
    • 根据您的需求,您可以在 "Build" 部分添加额外的构建步骤,例如运行集成测试、生成部署包等。
  8. 保存并构建:
    • 点击 "Save" 保存 Jenkins 项目的配置。
    • 点击 "Build Now" 手动触发一次构建,以验证配置是否正确。
相关推荐
@东辰2 小时前
【golang-技巧】-自定义k8s-operator-by kubebuilder
开发语言·golang·kubernetes
小安运维日记2 小时前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
陈小肚2 小时前
k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
docker·容器·kubernetes
politeboy3 小时前
关于k8s中镜像的服务端口被拒绝的问题
云原生·容器·kubernetes
weixin_438197383 小时前
K8S创建云主机配置docker仓库
linux·云原生·容器·eureka·kubernetes
皮锤打乌龟10 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
ggaofeng14 小时前
通过命令学习k8s
云原生·容器·kubernetes
qq_道可道17 小时前
K8S升级到1.24后,切换运行时导致 dind 构建镜像慢根因定位与解决
云原生·容器·kubernetes
SONGW201817 小时前
k8s拓扑域 :topologyKey
kubernetes
weixin_4381973819 小时前
K8S实现反向代理,负载均衡
linux·运维·服务器·nginx·kubernetes