K8S    2024-01-10 17:34:36    44    0    0

Ingress

指定path返回指定文本内容

  1. kind: Ingress
  2. metadata:
  3. annotations:
  4. ingress.kubernetes.io/server-snippet: |
  5. location = /test {
  6. return 200 "test";
  7. }

重定向到其他地址,但是带的?参数要能传过去

  1. kind: Ingress
  2. metadata:
  3. annotations:
  4. ingress.kubernetes.io/server-snippet: |
  5. rewirte ^/xxx/xxx(\?*)$ http://baidu.com$1 permanent;
  6. }
red NCE English    2024-01-10 17:29:03    9    0    0
red NCE English    2024-01-10 17:29:03    19    0    0
red NCE English    2024-01-10 17:29:03    8    0    0
red NCE English    2024-01-10 17:29:03    45    0    0
无    2023-12-28 15:14:08    37    0    0

备份脚本正文

  1. #!/bin/sh
  2. # File: /root/autobackupmysql.sh
  3. # Database info
  4. DB_NAME="需要备份的数据库名;分割"
  5. DB_USER="登录账号"
  6. DB_PASS="登录密码"
  7. #mysqldump 所在目录
  8. BIN_DIR="/usr/bin"
  9. # 备份文件存放目录
  10. BCK_DIR="/root/mysql_data_bak"
  11. #时间格式
  12. DATE=`date +%Y%m%d_%H%M%S`
  13. # 如果备份文件夹不存在,创建文件夹
  14. mkdir -p $BCK_DIR
  15. #这里是将DB_NAME中的;替换为空格
  16. varName=${DB_NAME//;/ }
  17. for element in $varName
  18. do
  19. $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $element > $BCK_DIR/$element.dump_$DATE.sql
  20. done
  21. # 备份全部数据库
  22. #mysqldump -u$DB_USER -p$DB_PASS -R -E --all-databases --single-transaction > $BCK_DIR/all_databases.dump_$DATE.sql
  23. # 删除7天之前的备份数据
  24. find $BCK_DIR/ -mtime +7 -name "*dump_*" -exec rm -rf {} \;

恢复脚本正文

  1. #!/bin/sh
  2. # File: /root/restore_mysql.sh
  3. # Database info
  4. DB_NAME="需要备份的数据库名;分割"
  5. DB_USER="登录账号" #账号要有删表权限
  6. DB_PASS="登录密码"
  7. #mysql 所在目录
  8. BIN_DIR="/usr/bin"
  9. # 备份文件存放目录
  10. BCK_DIR="/root/mysql_data_bak"
  11. #时间格式
  12. DATE=`date +%Y%m%d_%H%M%S`
  13. #这里是将DB_N
opentelemetry    2023-12-07 16:10:19    402    0    0

opentelemetry 概述

详情请参考官方文档:https://opentelemetry.io/docs/what-is-opentelemetry/

OpenTelemetry 是一个可观测性框架和工具包,旨在创建和管理遥测数据,例如跟踪、指标和日志。
至关重要的是,OpenTelemetry 与供应商和工具无关,这意味着它可以与各种可观测性后端一起使用,包括 Jaeger 和 Prometheus 等开源工具,以及商业产品。
OpenTelemetry 是一个云原生计算基金会 (CNCF) 项目。

OpenTelemetry 不像 Jaeger、Prometheus 或商业供应商那样是可观测性后端。
OpenTelemetry 专注于遥测数据的生成、收集、管理和导出。这些数据的存储和可视化有意留给其他工具。

collector概念

https://opentelemetry.io/docs/collector/configuration/
任何收集器配置文件的结构都由访问遥测数据的以下四类管道组件组成:

Receivers

接收器从一个或多个源收集遥测数据。它们可以基于拉取或推送,并且可以支持一个或多个数据源。
许多接收器都带有默认设置,因此指定接收器的名称就足以对其进行配置。

Processors

处理者获取接收者收集的数据,并在将其发送给导出器之前对其进行修改或转换。
数据处理根据为每个处理器定义的规则或设置进行,其中可能包括筛选、删除、重命名或重新计算遥测数据等操作。

jaeger    2023-12-06 15:58:47    227    0    0

jaeger概述

Jaeger 是一个分布式追踪平台,可用于监控和解决互连软件组件(称为微服务)上存在的问题。
多个微服务相互通信以完成单个软件功能。
开发人员使用 Jaeger 可视化这些微服务交互中的事件链,以便在出现问题时将其隔离。
Jaeger 也称为 Jaeger Tracing,因为它通过一系列微服务交互跟踪或追踪请求的路径。
IT 团队使用它来清晰了解整个事件链。他们可以更快地解决问题并改善客户体验。

Jaeger 的作用

开发人员使用 Jaeger 以几种不同的方式提高分布式系统的性能。
下面提供了一些示例。

分布式事务监控

Jaeger 具有监控微服务之间的数据移动的功能。开发人员可以在中断用户体验之前采取积极主动的方法来检测和解决问题。

延迟优化

Jaeger 分析可以定位微服务中降低应用程序速度的瓶颈。开发人员使用 Jaeger 来检查微服务的行为并寻找加快它们的方法。

根本原因分析

在微服务架构中,一个问题可能会导致其他问题。开发人员可以使用 Jaeger 找到应用程序中一系列相关问题的起点。

服务依赖性分析

服务依赖性意味着一个应用程序依赖于几个组件来运行。例如,导航应用程序依赖于移动应用程序上的定位服务。开

docker    2023-11-17 16:52:09    45    0    0

脚本正文

  1. #!/bin/bash
  2. yum remove docker docker-common docker-selinux docker-engine -y
  3. yum install -y yum-utils device-mapper-persistent-data lvm2
  4. #yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
  5. #yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  6. #阿里源
  7. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  8. #指定版本安装
  9. #yum -y install docker-ce-17.09.0.ce && mkdir -p /data/docker
  10. #安装最新版本
  11. yum -y install $1 && mkdir -p /data/docker
  12. #useradd opsadmin
  13. #usermod -G docker opsadmin
  14. sed -i "s#ExecStart=/usr/bin/dockerd#ExecStart=/usr/bin/dockerd --data-root /data/docker -H unix://#g" /usr/lib/systemd/system/docker.service
  15. mkdir -p /etc/docker
  16. tee /etc/docker/daemon.json <<-'EOF'
  17. {
  18. "registry-mirrors": [
  19. "https://docker.m.daocloud.io",
  20. "https://dockerproxy.com",
  21. "https://docker.mirrors.ustc.edu.cn",
无    2023-11-17 16:45:54    324    0    0

Harbor 介绍

Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact。Harbor 允许用户用命令行工具对容器镜像及其他 Artifact 进行推送和拉取,并提供了图形管理界面帮助用户查看和管理这些 Artifact。在 Harbor 2.0 版本中,除容器镜像外,Harbor 对符合 OCI 规范的 Helm Chart、CNAB、OPA Bundle 等都提供了更多的支持。

title

如上图所示是 Harbor 2.0 的架构图,从上到下可分为代理层、功能层和数据层。

  • 代理层:代理层实质上是一个 Nginx 反向代理,负责接收不同类型的客户端请求,包括浏览器、用户脚本、Docker 等,并根据请求类型和 URI 转发给不同的后端服务进行处理。

  • 功能层:

    • Portal:是一个基于 Argular 的前端应用,提供 Harbor 用户访问的界面。
    • Core:是 Harbor 中的核心组件,封装了 Harbor 绝大部分的业务逻辑。
    • JobService:异步任务组件,负责 Harbor 中很多比较耗时的功能,比如 Artifact 复制、扫描、垃圾回收等。
    • Docker Distribution:Harbor 通过 Distribution 实现 Artifact 的读写和存取等功能。
    • RegistryCtl:Docker Distribution 的控制组件。
    • 扫描工具Trivy(可选):镜像的漏洞检测工具。
    • Notary(2.9.1已废弃):基于 TUF 提供镜像签名管理的功能。
    • ChartMuseum(2.9.1已废弃):提供 API 管理非 OCI 规范的 Helm Chart,随着兼容 OCI 规范的 Helm Chart 在社区上被更广泛地接受,Helm Chart 能以 Artifact 的形式在 Harbor 中存储和管理,不再依赖 ChartMuseum,因此 Harbor 可能会在后续版本中移除对 ChartMuseum 的支持。
  • 数据层

5/14