当前位置: 首页 > news >正文

Helm离线部署Rancher2.7.10

环境依赖: K8s集群、helm 工具

Rancher组件架构

Rancher Server 包括用于管理整个 Rancher 部署的所有软件组件。
下图展示了 Rancher 2.x 的上层架构。下图中,Rancher Server 管理两个下游 Kubernetes 集群
在这里插入图片描述

准备Rancher镜像推送到私有仓库

cat > rancher_imgages_list  <<EOF
rancher/fleet-agent:v0.8.1
rancher/fleet:v0.8.1
rancher/kubectl:v1.20.2
rancher/rancher:v2.7.10
rancher/rancher-agent:v2.7.10
rancher/shell:v0.1.21
rancher/gitjob:v0.1.76-security1
rancher/rancher-webhook:v0.3.6
rancher/mirrored-cluster-api-controller:v1.4.4
EOF
for  item in $(cat rancher_imgages_list) ; 
do    docker  pull $item ;  docker  tag  $item   harb.xxx.com/sre/$item ; docker push harb.xxx.com/sre/$item;  
done

SSL 自签证书

生成SSL自签证书脚本:create_self-signed-cert.sh

#!/bin/bashhelp ()
{echo  ' ================================================================ 'echo  ' --ssl-domain: 生成ssl证书需要的主域名,如不指定则默认为www.rancher.local,如果是ip访问服务,则可忽略;'echo  ' --ssl-trusted-ip: 一般ssl证书只信任域名的访问请求,有时候需要使用ip去访问server,那么需要给ssl证书添加扩展IP,多个IP用逗号隔开;'echo  ' --ssl-trusted-domain: 如果想多个域名访问,则添加扩展域名(SSL_TRUSTED_DOMAIN),多个扩展域名用逗号隔开;'echo  ' --ssl-size: ssl加密位数,默认2048;'echo  ' --ssl-cn: 国家代码(2个字母的代号),默认CN;'echo  ' --ca-cert-recreate: 是否重新创建 ca-cert,ca 证书默认有效期 10 年,创建的 ssl 证书有效期如果是一年需要续签,那么可以直接复用原来的 ca 证书,默认 false;'echo  ' 使用示例:'echo  ' ./create_self-signed-cert.sh --ssl-domain=www.test.com --ssl-trusted-domain=www.test2.com \ 'echo  ' --ssl-trusted-ip=1.1.1.1,2.2.2.2,3.3.3.3 --ssl-size=2048 --ssl-date=3650'echo  ' ================================================================'
}case "$1" in-h|--help) help; exit;;
esacif [[ $1 == '' ]];thenhelp;exit;
fiCMDOPTS="$*"
for OPTS in $CMDOPTS;
dokey=$(echo ${OPTS} | awk -F"=" '{print $1}' )value=$(echo ${OPTS} | awk -F"=" '{print $2}' )case "$key" in--ssl-domain) SSL_DOMAIN=$value ;;--ssl-trusted-ip) SSL_TRUSTED_IP=$value ;;--ssl-trusted-domain) SSL_TRUSTED_DOMAIN=$value ;;--ssl-size) SSL_SIZE=$value ;;--ssl-date) SSL_DATE=$value ;;--ca-date) CA_DATE=$value ;;--ssl-cn) CN=$value ;;--ca-cert-recreate) CA_CERT_RECREATE=$value ;;--ca-key-recreate) CA_KEY_RECREATE=$value ;;esac
done# CA相关配置
CA_KEY_RECREATE=${CA_KEY_RECREATE:-false}
CA_CERT_RECREATE=${CA_CERT_RECREATE:-false}CA_DATE=${CA_DATE:-3650}
CA_KEY=${CA_KEY:-cakey.pem}
CA_CERT=${CA_CERT:-cacerts.pem}
CA_DOMAIN=cattle-ca# ssl相关配置
SSL_CONFIG=${SSL_CONFIG:-$PWD/openssl.cnf}
SSL_DOMAIN=${SSL_DOMAIN:-'www.rancher.local'}
SSL_DATE=${SSL_DATE:-3650}
SSL_SIZE=${SSL_SIZE:-2048}## 国家代码(2个字母的代号),默认CN;
CN=${CN:-CN}SSL_KEY=$SSL_DOMAIN.key
SSL_CSR=$SSL_DOMAIN.csr
SSL_CERT=$SSL_DOMAIN.crtecho -e "\033[32m ---------------------------- \033[0m"
echo -e "\033[32m       | 生成 SSL Cert |       \033[0m"
echo -e "\033[32m ---------------------------- \033[0m"# 如果存在 ca-key, 并且需要重新创建 ca-key
if [[ -e ./${CA_KEY} ]] && [[ ${CA_KEY_RECREATE} == 'true' ]]; then# 先备份旧 ca-key,然后重新创建 ca-keyecho -e "\033[32m ====> 1. 发现已存在 CA 私钥,备份 "${CA_KEY}" 为 "${CA_KEY}"-bak,然后重新创建 \033[0m"mv ${CA_KEY} "${CA_KEY}"-bak-$(date +"%Y%m%d%H%M")openssl genrsa -out ${CA_KEY} ${SSL_SIZE}# 如果存在 ca-cert,因为 ca-key 重新创建,则需要重新创建 ca-cert。先备份然后重新创建 ca-certif [[ -e ./${CA_CERT} ]]; thenecho -e "\033[32m ====> 2. 发现已存在 CA 证书,先备份 "${CA_CERT}" 为 "${CA_CERT}"-bak,然后重新创建 \033[0m"mv ${CA_CERT} "${CA_CERT}"-bak-$(date +"%Y%m%d%H%M")openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"else# 如果不存在 ca-cert,直接创建 ca-certecho -e "\033[32m ====> 2. 生成新的 CA 证书 ${CA_CERT} \033[0m"openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"fi# 如果存在 ca-key,并且不需要重新创建 ca-key
elif [[ -e ./${CA_KEY} ]] && [[ ${CA_KEY_RECREATE} == 'false' ]]; then# 存在旧 ca-key,不需要重新创建,直接复用echo -e "\033[32m ====> 1. 发现已存在 CA 私钥,直接复用 CA 私钥 "${CA_KEY}" \033[0m"# 如果存在 ca-cert,并且需要重新创建 ca-cert。先备份然后重新创建if [[ -e ./${CA_CERT} ]] && [[ ${CA_CERT_RECREATE} == 'true' ]]; thenecho -e "\033[32m ====> 2. 发现已存在 CA 证书,先备份 "${CA_CERT}" 为 "${CA_CERT}"-bak,然后重新创建 \033[0m"mv ${CA_CERT} "${CA_CERT}"-bak-$(date +"%Y%m%d%H%M")openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"# 如果存在 ca-cert,并且不需要重新创建 ca-cert,直接复用elif [[ -e ./${CA_CERT} ]] && [[ ${CA_CERT_RECREATE} == 'false' ]]; thenecho -e "\033[32m ====> 2. 发现已存在 CA 证书,直接复用 CA 证书 "${CA_CERT}" \033[0m"else# 如果不存在 ca-cert ,直接创建 ca-certecho -e "\033[32m ====> 2. 生成新的 CA 证书 ${CA_CERT} \033[0m"openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"fi# 如果不存在 ca-key
else# ca-key 不存在,直接生成echo -e "\033[32m ====> 1. 生成新的 CA 私钥 ${CA_KEY} \033[0m"openssl genrsa -out ${CA_KEY} ${SSL_SIZE}# 如果存在旧的 ca-cert,先做备份,然后重新生成 ca-certif [[ -e ./${CA_CERT} ]]; thenecho -e "\033[32m ====> 2. 发现已存在 CA 证书,先备份 "${CA_CERT}" 为 "${CA_CERT}"-bak,然后重新创建 \033[0m"mv ${CA_CERT} "${CA_CERT}"-bak-$(date +"%Y%m%d%H%M")openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"else# 不存在旧的 ca-cert,直接生成 ca-certecho -e "\033[32m ====> 2. 生成新的 CA 证书 ${CA_CERT} \033[0m"openssl req -x509 -sha256 -new -nodes -key ${CA_KEY} -days ${CA_DATE} -out ${CA_CERT} -subj "/C=${CN}/CN=${CA_DOMAIN}"fifiecho -e "\033[32m ====> 3. 生成 Openssl 配置文件 ${SSL_CONFIG} \033[0m"
cat > ${SSL_CONFIG} <<EOM
[req]
req_extensions = v3_req
distinguished_name = req_distinguished_name
[req_distinguished_name]
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
extendedKeyUsage = clientAuth, serverAuth
EOMif [[ -n ${SSL_TRUSTED_IP} || -n ${SSL_TRUSTED_DOMAIN} || -n ${SSL_DOMAIN} ]]; thencat >> ${SSL_CONFIG} <<EOM
subjectAltName = @alt_names
[alt_names]
EOMIFS=","dns=(${SSL_TRUSTED_DOMAIN})dns+=(${SSL_DOMAIN})for i in "${!dns[@]}"; doecho DNS.$((i+1)) = ${dns[$i]} >> ${SSL_CONFIG}doneif [[ -n ${SSL_TRUSTED_IP} ]]; thenip=(${SSL_TRUSTED_IP})for i in "${!ip[@]}"; doecho IP.$((i+1)) = ${ip[$i]} >> ${SSL_CONFIG}donefi
fiecho -e "\033[32m ====> 4. 生成服务 SSL KEY ${SSL_KEY} \033[0m"
openssl genrsa -out ${SSL_KEY} ${SSL_SIZE}echo -e "\033[32m ====> 5. 生成服务 SSL CSR ${SSL_CSR} \033[0m"
openssl req -sha256 -new -key ${SSL_KEY} -out ${SSL_CSR} -subj "/C=${CN}/CN=${SSL_DOMAIN}" -config ${SSL_CONFIG}echo -e "\033[32m ====> 6. 生成服务 SSL CERT ${SSL_CERT} \033[0m"
openssl x509 -sha256 -req -in ${SSL_CSR} -CA ${CA_CERT} \-CAkey ${CA_KEY} -CAcreateserial -out ${SSL_CERT} \-days ${SSL_DATE} -extensions v3_req \-extfile ${SSL_CONFIG}echo -e "\033[32m ====> 7. 证书制作完成 \033[0m"
echo
echo -e "\033[32m ====> 8. 以 YAML 格式输出结果 \033[0m"
echo "----------------------------------------------------------"
echo "ca_key: |"
cat $CA_KEY | sed 's/^/  /'
echo
echo "ca_cert: |"
cat $CA_CERT | sed 's/^/  /'
echo
echo "ssl_key: |"
cat $SSL_KEY | sed 's/^/  /'
echo
echo "ssl_csr: |"
cat $SSL_CSR | sed 's/^/  /'
echo
echo "ssl_cert: |"
cat $SSL_CERT | sed 's/^/  /'
echoecho -e "\033[32m ====> 9. 附加 CA 证书到 Cert 文件 \033[0m"
cat ${CA_CERT} >> ${SSL_CERT}
echo "ssl_cert: |"
cat $SSL_CERT | sed 's/^/  /'
echoecho -e "\033[32m ====> 10. 重命名服务证书 \033[0m"
echo "cp ${SSL_DOMAIN}.key tls.key"
cp ${SSL_DOMAIN}.key tls.key
echo "cp ${SSL_DOMAIN}.crt tls.crt"
cp ${SSL_DOMAIN}.crt tls.crt

生成base-rancher.xxx.com域名自签SSL证书

bash create_self-signed-cert.sh --ssl-domain=base-rancher.xxx.com --ssl-trusted-domain=base-rancher-api.xxx.com --ssl-trusted-domain=base-rancher.xxxidc.com --ssl-trusted-ip=192.168.24.107,1192.168.24.108,192.168.24.109 --ssl-size=2048 --ssl-date=36500

创建 tls-rancher-ingress Secret 对象

kubectl -n cattle-system create secret tls tls-rancher-ingress \
--cert=tls.crt \
--key=tls.key

创建CA Secret 对象

kubectl -n cattle-system create secret generic tls-ca \
--from-file=cacerts.pem=./cacerts.pem

Rancher Chart 准备

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
helm repo update
helm pull  rancher-stable/rancher    --version  2.7.10
tar  xvf  rancher-2.7.10.tgz   -C ~/

配置Chart values.yaml 文件

Chart 选项值配置参考: https://www.bookstack.cn/read/rancher-2.7-zh/9f027aa56a0b6d6f.md

这里对以下值做出修改:

image.repository: "harb.xxx.com/sre/rancher/mirrored-bci-micro"
ingress.ingressClassName: "nginx" 
tls.source: secret
service.type: NodePort
rancherImage: "harb.xxx.com/sre/rancher/rancher"
rancherImageTag: v2.7.10
systemDefaultRegistry: "harb.xxx.com/sre"
useBundledSystemChart: true
bootstrapPassword: "password"

离线安装Rancher Chart

helm  install  rancher   ~/rancher  -f  ~/rancher/values.yaml   -n cattle-system

在线安装Rancher Chart

镜像默认使用官方的地址

helm install  rancher rancher-stable/rancher  --version 2.7.10 --namespace cattle-system \--set hostname=base-rancher.xxx.com \--set bootstrapPassword=admin \--set ingress.tls.source=secret \--set privateCA=true \--set replicas=3 \--set ingress.ingressClassName=nginx \--set service.type: NodePort

网络请求链路

Waf --> A10/F5 -->Apisix --> k8s Ranchcer svc Nodeport --> Rancher Server
(SSL证书配置在A10/F5,最后请求流入到Rancher Server 的80 端口)

Rancher-agent 优化

  • 增加CPU与内存资源限制
  • 关掉缓存,解决内存使用过多问题:CATTLE_REQUEST_CACHE_DISABLED=true
  • 关闭fleet-agent服务

Rancher 卸载

https://github.com/rancher/rancher-cleanup/blob/main/deploy/rancher-cleanup.yaml

参考文档链接

Rancher 架构推荐: https://www.bookstack.cn/read/rancher-2.7-zh/039476df906a639a.md
Rancher 与K8s版本兼容性:https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-7-10/
Rancher安装文档: https://ranchermanager.docs.rancher.com/zh/v2.7/getting-started/installation-and-upgrade/other-installation-methods/air-gapped-helm-cli-install/install-rancher-ha

2.7.5 版本开始支持K8s1.26 的版本

相关文章:

Helm离线部署Rancher2.7.10

环境依赖&#xff1a; K8s集群、helm 工具 Rancher组件架构 Rancher Server 包括用于管理整个 Rancher 部署的所有软件组件。 下图展示了 Rancher 2.x 的上层架构。下图中&#xff0c;Rancher Server 管理两个下游 Kubernetes 集群 准备Rancher镜像推送到私有仓库 cat >…...

Linux目录的作用和常用指令

目录结构及其详细作用 / (根目录) Linux文件系统的起点&#xff0c;所有文件和目录都在其下。 /bin 存放系统启动和运行时所需的基本命令&#xff0c;如 ls, cp, mv, rm&#xff0c;这些命令在单用户模式下或系统崩溃时仍然可用。 /boot 包含启动引导加载器的文件和Linux内核…...

Nvidia/算能 +FPGA+AI大算力边缘计算盒子:隧道和矿井绘图设备

RockMass 正在努力打入采矿业和隧道工程利基市场。 这家位于多伦多的初创公司正在利用 NVIDIA AI 开发一款绘图平台&#xff0c;帮助工程师评估矿井和施工中的隧道稳定性。 目前&#xff0c;作为安全预防措施&#xff0c;地质学家和工程师会站在离岩石五米远的地方&#xff0…...

MySQL物理备份

目录 备份策略 全量备份 (Full Backup) 增量备份 (Incremental Backup) 差异备份 (Differential Backup) 使用 Percona XtraBackup 全量备份 步骤 1&#xff1a;全量备份 步骤 2&#xff1a;备份后处理&#xff08;应用日志&#xff09; 步骤 3&#xff1a;恢复备份 验…...

AWT常用组件

AWT中常用组件 前言一、基本组件组件名标签(Label类)Label类的构造方法注意要点 按钮(Button)Button的构造方法注意要点 文本框(TextField)TextField类的构造方法注意要点 文本域&#xff08;TextArea&#xff09;TextArea 的构造方法参数scrollbars的静态常量值 复选框&#x…...

CorelDRAW2024破解激活码序列号一步到位

亲们&#xff0c;今天给大家种草一个神奇的软件——CorelDRAW破解2024最新版&#xff01;&#x1f3a8;这是一款专业级的矢量图形设计软件&#xff0c;无论你是平面设计师、插画师还是设计师&#xff0c;都能在这个软件中找到你需要的工具和功能。✨ 让我来给大家介绍一下这款软…...

Webpack前端打包工具详解

目录 Webpack前端打包工具详解一、Webpack 的作用二、Webpack 的安装和基本使用1. 安装 Webpack2. 创建 Webpack 配置文件3. 运行 Webpack 三、Webpack 核心概念1. 入口&#xff08;Entry&#xff09;2. 输出&#xff08;Output&#xff09;3. 加载器&#xff08;Loaders&#…...

计网总结☞网络层

.................................................. 思维导图 ........................................................... 【Wan口和Lan口】 WAN口&#xff08;Wide Area Network port&#xff09;&#xff1a; 1)用于连接外部网络&#xff0c;如互联…...

【全开源】云调查考试问卷系统(FastAdmin+ThinkPHP+Uniapp)

便捷、高效的在线调研与考试新选择​ 云调查考试问卷是一款基于FastAdminThinkPHPUniapp开发的问卷调查考试软件&#xff0c;可以自由让每一个用户自由发起调查问卷、考试问卷。发布的问卷允许控制问卷的搜集、回答等各个环节的设置&#xff0c;同时支持系统模板问卷&#xff…...

网络安全难学吗?2024该怎么系统学习网络安全?

学习网络安全需要循序渐进&#xff0c;由浅入深。很多人对网络安全进行了解以后&#xff0c;就打算开始学习网络安全&#xff0c;但是又不知道怎么去系统的学习。 网络安全本身的知识不难&#xff0c;但需要学习的内容有很多&#xff0c;其中包括Linux、数据库、渗透测试、等保…...

2 程序的灵魂—算法-2.4 怎样表示一个算法-2.4.6 用计算机语言表示算法

我们的任务是用计算机解题&#xff0c;就是用计算机实现算法&#xff1b; 用计算机语言表示算法必须严格遵循所用语言的语法规则。 【例 2.20】求 12345 用 C 语言表示。 main() {int i,t; t1; i2; while(i<5) {tt*i; ii1; } printf(“%d”,t); } 【例 2.21】求级数的…...

重生之我要精通JAVA--第八周笔记

文章目录 多线程线程的状态线程池自定义线程池最大并行数多线程小练习 网络编程BS架构优缺点CS架构优缺点三要素IP特殊IP常用的CMD命令 InetAddress类端口号协议UDP协议&#xff08;重点&#xff09;UDP三种通信方式 TCP协议&#xff08;重点&#xff09;三次握手四次挥手 反射…...

51单片机独立按键控制LED灯,按键按一次亮,再按一次灭

1、功能描述 独立按键控制LED灯&#xff0c;按键按一次亮&#xff0c;再按一次灭 2、实验原理 轻触按键:相当于是一种电子开关&#xff0c;按下时开关接通&#xff0c;松开时开关断开&#xff0c;实现原理是通过轻触按键内部的金属弹片受力弹动米实现接通和断开&#xff1b;…...

【上海大学计算机组成原理实验报告】七、程序转移机制

一、实验目的 学习实现程序转移的硬件机制。 掌握堆栈寄存器的使用。 二、实验原理 根据实验指导书的相关内容&#xff0c;实验箱系统的程序转移硬件机制在于&#xff0c;当LDPC有效时&#xff0c;如果此时DUBS上的值就是转移的目标地址&#xff0c;则此目标地址被打入PC&am…...

LLVM Cpu0 新后端7 第一部分 DAG调试 dot文件 Machine Pass

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1yLAtXs9XwtyEzYSlDCSlqw?…...

修复www服务trace漏洞

验证方式&#xff1a;curl -v -X TRACE ip:port&#xff0c;或使用其他接口调试工具如Postman 响应&#xff1a;状态行405 Method Not Allowed且响应体无内容 方案一&#xff1a;使用过滤器 若webserver是tomcat, 添加过滤器的方式有很多 Component public class TraceHttpMe…...

算法:101. 对称二叉树

对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; 树中节…...

wordpress 使用api发布文章

1.安装插件 在/wp-content/plugins/目录执行以下命令 $ sudo git clone https://github.com/WP-API/Basic-Auth.git 2.Python脚本 import requestsurl http://www.ziyuanwang.online/wp-json/wp/v2/postsuser adminpassword xxxxxheaders {Content-Type: application/j…...

《Brave New Words 》2.2 阅读理解的未来,让文字生动起来!

Part II: Giving Voice to the Social Sciences 第二部分&#xff1a;为社会科学发声 The Future of Reading Comprehension, Where Literature Comes Alive! 阅读理解的未来&#xff0c;让文字生动起来&#xff01; Saanvi, a ninth grader in India who attends Khan World S…...

基于Java的超市进销存管理系统

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; Java JSP Servlet JavaBean 工具&#xff1a; IDEA/Eclipse、…...

巧用frp与nginx反向代理,实现安全远程访问内网ESXi管理界面

1. 为什么需要远程访问ESXi管理界面 对于运维人员来说&#xff0c;能够随时随地访问ESXi管理界面是刚需。想象一下&#xff0c;当你正在出差或者在家休息时&#xff0c;突然需要检查虚拟机状态或者处理紧急故障&#xff0c;如果只能跑到机房操作&#xff0c;那简直是噩梦。我遇…...

GitHub 开源育儿知识库:技术型父母如何用 Awesome List 构建科学育儿体系

1. 项目概述&#xff1a;一个为新手父母量身定制的技能宝库当一个小生命降临&#xff0c;新手父母们常常会陷入一种既幸福又焦虑的复杂情绪中。幸福自不必说&#xff0c;那份焦虑则大多源于“未知”——面对一个不会说话、只会用哭声表达一切的小家伙&#xff0c;如何判断他是饿…...

SteamCleaner技术架构深度解析:多平台游戏缓存清理系统的设计哲学与实践

SteamCleaner技术架构深度解析&#xff1a;多平台游戏缓存清理系统的设计哲学与实践 【免费下载链接】SteamCleaner :us: A PC utility for restoring disk space from various game clients like Origin, Steam, Uplay, Battle.net, GoG and Nexon :us: 项目地址: https://g…...

从概念验证到生产环境:Keep开源告警管理平台的5步完整实战部署指南

从概念验证到生产环境&#xff1a;Keep开源告警管理平台的5步完整实战部署指南 【免费下载链接】keep The open-source AIOps and alert management platform 项目地址: https://gitcode.com/GitHub_Trending/kee/keep 在当今复杂的云原生环境中&#xff0c;告警管理已成…...

华为光猫配置解密工具:网络运维的终极解决方案

华为光猫配置解密工具&#xff1a;网络运维的终极解决方案 【免费下载链接】HuaWei-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/hu/HuaWei-Optical-Network-Terminal-Decoder 华为光猫配置解密工具是一款专为网络工程师和运维人员设计…...

突破大语言模型平滑诅咒:Emergence Codex语义架构与OpenClaw实战指南

1. 项目概述&#xff1a;什么是 Emergence Codex 与 OpenClaw Skill如果你和我一样&#xff0c;在深度使用大语言模型&#xff08;LLM&#xff09;构建智能体或进行复杂推理任务时&#xff0c;常常感到一种无力感——无论你怎么精心设计提示词&#xff08;Prompt&#xff09;&a…...

Hotkey Detective:Windows热键冲突终极解决方案与实战指南

Hotkey Detective&#xff1a;Windows热键冲突终极解决方案与实战指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...

Go Web框架ratine:轻量高性能设计、核心功能与生产实践指南

1. 项目概述&#xff1a;一个轻量级、高性能的Web框架 最近在折腾一个内部工具的后端&#xff0c;需要快速搭建一个API服务&#xff0c;性能要求不低&#xff0c;但又不希望引入Spring Boot那种“全家桶”式的重量级框架。在社区里翻找时&#xff0c; goweft/ratine 这个项目…...

如何用Mermaid Live Editor构建企业级实时图表系统:架构师的技术选型指南

如何用Mermaid Live Editor构建企业级实时图表系统&#xff1a;架构师的技术选型指南 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/m…...

CANN/Ascend C逻辑异或API文档

LogicalXor 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言&#xff0c;原生支持C和C标准规范&#xff0c;主要由类库和语言扩展层构成&#xff0c;提供多层级API&#xff0c;满足多维场景算子开发诉求。 项目地址: https://gitcode.com…...