- 博客(128)
- 资源 (13)
- 收藏
- 关注
原创 Nomad CNI 网络配置:子网与 VLAN 划分
Nomad CNI 网络配置指南摘要 本文详细介绍了如何在Nomad中使用CNI插件实现容器网络配置,重点涵盖子网和VLAN划分技术。主要内容包括: CNI基础概念:解释CNI作为容器网络接口标准的功能和Nomad集成优势 环境准备: CNI插件安装与配置目录设置 Nomad客户端网络参数调优 服务重启与状态验证流程 网络配置实践: 单一子网默认配置示例 多子网隔离方案 VLAN划分实现二层网络隔离 高级特性: 支持bridge/vlan/macvlan等多种插件 集成IPAM地址管理 防火墙规则和端口映射
2025-11-24 15:10:36
57
原创 Nomad 驱动程序配置指南
驱动类型隔离级别适用场景Docker容器强隔离微服务、容器化应用Podman容器强隔离无守护进程容器Exec进程中隔离标准应用程序Raw Exec进程无隔离系统任务、特权操作JavaJVM中隔离Java 应用QEMU虚拟机强隔离虚拟机工作负载插件配置config {# 插件特定配置Nomad 使用 Go 插件系统开发自定义驱动。基本结构import (// 驱动状态// 返回任务配置规范// 返回驱动能力// 启动任务// 停止任务})
2025-11-24 09:07:06
46
原创 Nomad 调度策略与资源管理指南
资源可用性:CPU、内存、磁盘、网络约束条件:节点属性、版本要求放置策略:分散、集中、装箱亲和性:首选或避免特定节点优先级:任务优先级和抢占选择合适的调度器类型配置资源约束:CPU、内存、磁盘、设备使用放置策略:spread 或 binpack灵活运用约束和亲和性:硬约束 + 软约束启用抢占机制:保障关键任务使用节点池隔离:多租户管理设置资源配额:控制资源使用监控和优化:持续改进调度性能。
2025-11-21 10:50:51
47
原创 Nomad 监控与日志指南
指标收集日志聚合可视化事件流:实时事件订阅健康检查:服务和任务健康检测告警集群资源使用仪表板查询# CPU 使用率# 内存使用率# 运行中的任务数# 失败的任务数# 调度延迟(95 分位)指标收集可视化:Grafana 仪表板日志聚合事件监控健康检查:服务和任务健康检测告警:Alertmanager + 告警规则审计:审计日志记录和分析。
2025-11-21 09:57:56
33
原创 Nomad 安全与访问控制指南
ACL(访问控制列表):细粒度的权限控制TLS/mTLS:加密通信和双向认证Vault 集成:动态密钥管理:工作负载身份验证命名空间:多租户隔离认证与授权密钥管理:Vault 集成网络安全:Consul Connect + 网络隔离审计与监控:审计日志 + 实时监控最小权限:细粒度的 ACL 策略定期维护:凭据轮换 + 安全审查。
2025-11-21 09:50:30
80
原创 Nomad 存储卷挂载使用指南
Nomad 存储卷挂载指南摘要 Nomad 提供多种存储卷类型满足不同持久化需求: Host Volumes - 最简方式,直接挂载宿主机目录到容器,需预先配置客户端节点并创建目录 Docker Volumes - 由Docker驱动管理,提供更灵活的存储选项 CSI Volumes - 企业级跨节点存储方案(未展示详细内容) Host Volumes特点: 需在客户端配置中定义路径和权限 支持多卷挂载和模板配置 提供基本读写控制 限制包括节点绑定、无跨节点支持和需手动管理 Docker Volumes(简
2025-11-17 16:52:03
829
原创 Nomad Job 部署使用指南
Nomad Job 部署指南摘要 Nomad Job 是核心的配置单元,用于声明式定义工作负载。Job 包含三个层级结构:Job → Task Group → Task。支持四种类型:长期运行的service、批处理batch、系统级system/sysbatch。配置文件采用HCL格式,包含job、group、task三个主要配置块。job块定义全局属性,group块配置任务组(网络、服务发现等),task块定义具体任务(驱动类型、资源配置等)。提供丰富的策略配置,包括滚动更新、健康检查、Vault集成等
2025-11-17 16:31:08
687
原创 Kubernetes vs k3s vs Nomad: 容器编排平台深度对比
定义: 由 Google 开源的容器编排平台,现由 CNCF 管理,是事实上的容器编排标准。核心特点功能全面的容器编排系统庞大的生态系统和社区声明式配置和自动化运维原生支持服务发现、负载均衡、自动扩缩容优点行业标准: 最广泛采用的容器编排平台功能全面: 几乎所有容器编排需求都有原生或社区解决方案生态丰富: 海量工具、插件、文档、教程云原生: 所有主流云厂商支持,可避免供应商锁定社区活跃: 大量贡献者,快速迭代企业支持: 多家公司提供商业支持和托管服务声明式。
2025-11-14 15:53:12
663
原创 Nomad 集群备份与还原完整指南
Nomad集群备份与还原指南 核心要点: 备份必要性:Nomad存储关键业务数据,包括作业定义、资源分配、节点信息、访问控制策略等,数据丢失可能导致业务中断。 备份方案: 推荐方案:使用nomad operator snapshot save命令创建快照,支持加密和容错模式 替代方案:直接备份Raft数据目录(需停机) 还原方法: 通过API还原快照文件 紧急情况下替换整个Raft目录 自动化:提供完整备份脚本示例,支持定期备份、日志记录和远程存储 最佳实践: 定期测试还原流程 监控备份状态 遵循3-2-1
2025-11-14 15:44:06
765
原创 Dragonfly 技术架构设计与功能文档
Dragonfly 技术架构摘要 Dragonfly 是 CNCF 毕业的云原生 P2P 数据分发系统,提供高效的文件、容器镜像和模型分发能力。系统采用分层架构设计,包含 Manager 集群、Scheduler 集群和边缘节点集群三大组件,通过智能调度实现 P2P 加速传输。核心特性包括:多协议支持(HTTP/gRPC/S3)、容器镜像按需加载、企业级安全机制(RBAC/TLS)和全链路可观测性。 技术栈以 Go 为主,采用 gRPC 通信、Redis 缓存和 OpenTelemetry 监控。架构支持横
2025-11-14 10:17:08
279
原创 Nydus 容器镜像加速服务 - 架构设计与技术文档
Nydus 是一个高性能容器镜像加速服务,由 Rust 语言实现。它通过在 RAFS(Registry Acceleration File System)格式上实现内容寻址文件系统,显著提升容器启动速度、降低存储和网络带宽消耗。核心优势:快速启动:秒级容器启动,毫秒级函数计算代码包加载按需加载:以 chunk 为单位按需下载镜像数据节省资源:chunk 级别数据去重,跨层/跨镜像降低存储、传输和内存成本端到端安全:数据完整性验证,可检测供应链攻击。
2025-11-14 10:02:37
304
原创 分布式容器镜像自动同步系统 设计方案
本文提出了一种分布式容器镜像自动同步系统设计方案。系统采用三层架构:控制平面负责事件驱动和同步编排,数据平面实现高性能传输和分布式存储,可观测性平面提供全链路监控。核心技术包括基于inotify的事件驱动机制、优化的rsync传输协议、智能节点路由和容错重试机制。系统支持去中心化P2P拓扑,可动态扩展至数百节点,实现秒级响应、自动去重和99.5%以上的同步成功率,有效解决大规模容器环境中的镜像分发挑战。
2025-11-11 09:04:54
1070
原创 CSP-J 基础知识详细扩展版
本文档是CSP-J竞赛的知识点扩展版,系统性地整理了C++基础语法和STL容器相关内容。第一部分详细讲解了C++数据类型、运算符和控制结构,涵盖整型溢出、浮点精度等常见陷阱,并提供了位运算高效技巧。第二部分深入解析STL容器,重点介绍vector动态数组的特性、API和应用场景,包括容量管理、元素访问和修改操作等。文档采用表格对比、代码示例和注意事项相结合的方式,为竞赛选手提供全面的学习参考和代码优化指导。
2025-11-11 09:02:47
419
原创 Nomad 架构设计与使用指南
自动服务注册健康检查DNS 查询KV 存储Nomad 是一个功能强大但简洁易用的工作负载编排器。简单性:单一二进制文件,配置直观灵活性:支持多种工作负载类型可靠性:久经考验的 Raft 共识协议可扩展性:可从单节点扩展至数千节点对于需要快速上手容器编排、管理混合工作负载或者寻求 Kubernetes 替代方案的团队来说,Nomad 是一个值得考虑的选择。
2025-11-07 17:16:21
786
原创 Docker 镜像自动同步系统 - 轻量级集群镜像分发方案
Docker 镜像自动同步系统是一个轻量级、高可靠、易维护中小型 Docker 集群(5-50 节点)离线或内网环境需要快速镜像预热的场景不想维护复杂镜像仓库的团队通过智能的文件识别、可靠的重试机制、完善的日志管理,确保镜像能够快速、准确地分发到集群每个节点。
2025-11-07 16:58:19
724
原创 k3s嵌入式注册表镜像
嵌入式注册表镜像自2024年1月版本起作为实验性功能提供:v1.26.13+k3s1、v1.27.10+k3s1、v1.28.6+k3s1、v1.29.1+k3s1。自2024年12月版本起正式发布(GA):v1.29.12+k3s1、v1.30.8+k3s1、v1.31.4+k3s1K3s内嵌Spegel,这是一个无状态的分布式OCI注册表镜像,允许在Kubernetes集群节点之间进行容器镜像的点对点共享。分布式注册表镜像默认禁用。
2025-05-15 15:39:08
1061
原创 第一章 计算机基础知识
编译型语言其特点是在程序执行之前需要将源代码通过一个称为编译器的工具转换成机器码、汇编语言或中间代码的形式。这个转换过程被称为编译,它将源代码翻译成计算机可以直接执行的形式,通常是一个可执行文件。一旦编译完成,程序可以在计算机上多次运行而不需要重新翻译源代码。代表语言:C、C++、Swift、Go、Rust等。
2024-10-14 13:43:34
7367
原创 K8S kubeadm管理证书
官方文档: k8s kubeadm管理证书查询证书过期时间$ kubeadm alpha certs check-expiration如下输出[root@master1 ~]# kubeadm alpha certs check-expiration[check-expiration] Reading configuration from the cluster...[check-expiration] FYI: You can look at this config file with 'k
2021-04-25 15:15:37
703
原创 harbor 服务正常,但无法访问排查
查看harbor服务是正常的[root@k8s-server-4 harbor]# docker-compose ps Name Command State Ports---------------------------------------------------------------------------------------------harbor-core .
2021-03-03 10:40:24
8038
6
原创 k8s 设置Node节点驱逐pod的时间
官方api-server参数具体作用官方kube-controller-manager 参数具体作用官方kubelet参数具体作用官方kubelet参数具体作用以下调整是需要加入到集群中的,最后效果验证pod的迁移时间为11-16skube-controller-manager调整配置路径:/etc/kubernetes/manifests/kube-controller-manager.yaml- --node-monitor-period=2s . #在NodeController中同步节
2020-12-30 17:52:46
3999
原创 压缩home 扩展根目录磁盘空间
umount /homeresize2fs -p /dev/mapper/openeuler-home 500Ge2fsck -f /dev/mapper/openeuler-homemount /homedf -hlvreduce -L -300G /dev/mapper/openeuler-homelvextend -L +300G /dev/mapper/openeuler-rootmount /homedf -hresize2fs -p /dev/mapper/openeuler-
2020-11-24 09:49:56
755
原创 openssh-8.4p openssl-1.1.1h 更新
为了修复OpenSSH 漏洞(v7.8之前的版本CVE-2018-15919,v7.6之前的CVE-2017-15906) 升级Openssh 到8.4p 以及 Openssl 1.1.1h, KunPeng arm64升级后的效果[root@master3 openssh-8.4p1]# ssh -VOpenSSH_8.4p1, OpenSSL 1.1.1h 22 Sep 2020[root@master3 openssh-8.4p1]# cat /etc/redhat-releaseCe.
2020-11-04 14:39:53
1623
1
原创 Kunpeng ARM64 Centos7.8 HarborV2.1.0编译过程
遇到错误redis容器服务有问题,排查中,可登陆了,不知道影响功能范围多大解决办法:base镜像的redis出现了架构错误:<jemalloc>: Unsupported system page size,所以替换了base镜像,以前是photon3.0 tdnf install redis改成了Kunpeng自编的redis5.0.9 images的基础上使用harbor/make/photon/redis 中的Dockerfile重编redis-photon server服务i
2020-10-12 15:31:17
1048
原创 harbor 启动报错:Creating network “harbor_harbor“ with the default driver ERROR: Failed to Setup IP table
harbor 启动报错:Creating network “harbor_harbor” with the default driver ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-ad50c72e8694 -j RETURN: iptables: No chain/target/match by th
2020-10-12 15:27:12
3017
3
原创 用户画像的相关个人笔记
第一步:画像从0到1的构建思路按照这个原则,画像通常从八个维度组织标签,分别为:基本属性;平台属性;行为属性;产品偏好;兴趣偏好;敏感度;消费属性、用户生命周期及用户价值。下图所示为用户整体架构示例:① 基本属性基本属性是指一个用户的基本社会属性和变更频率低的平台特征,例如真实社会年龄、性别、婚姻状况、昵称、号码、账号、lbs等标签。这些标签类型多为直采型,可从用户基本信息表中直接获取,不需要统计或者算法挖掘。示例:社会性别_女② 平台属性平台属
2020-07-06 13:12:08
1534
原创 DSP、DMP、ADX、RTB都是什么
一、概述DSP=demand side platform=需求方平台DMP=data management platform=数据管理平台RTB=real time bidding=实时竞价SSP=supply side platform=供给方平台ADX=ad exchange=广告交易平台二、DSP平台在DSP出现之前,如果广告主想要在多个媒体(网站、广告网络、交易平台)投放广告 ,是一个非常繁琐的过程。因为每一个网站、广告网络、交易平台的媒体购买系统、操作规则不同,需要人工进行调整,费时
2020-07-04 18:52:26
8095
2
原创 docker-compose 网桥和局域网冲突记录
部署的harbor应用,发生了网桥冲突git 修改Docker 默认网桥的方法修改前记得先stop docker 和docker-compose服务+修改Docker默认网桥的方法$ vim /etc/docker/daemon.json{ "debug" : true, "default-address-pools" : [ { "base" : "172.31.0.0/16", "size" : 24 } ]}修改完成,后重新启动d
2020-05-27 14:48:38
971
原创 etcd 及 etcd 在 k8s中的用法
什么是 etcd?etcd是一个分布式一致性键值存储系统,用于共享配置和服务发现简单:定义清晰、面向用户的API(gRPC)安全:可选的客户端TLS证书自动认证快速:每秒10000写入可靠:使用Raft算法,实现分布式系统数据的可用性和一致性from: etcd_github etcd_ioetcd 使用etcd厂商提供了命令行客户端 etcdctl,可以使用客户端直接跟etcd交互etcdctl使用方法WARNING: Environment vari
2020-05-26 16:18:16
12232
1
原创 npm安装慢
解决npm install安装慢的问题国外镜像会很慢可用 get命令查看registrynpm congfig get registry原版结果为http://registry.npmjs.org用set命令换成阿里的镜像就可以了npm config set registry https://registry.npm.taobao.org再执行命令npm install或者直接执行npm install --registry=https://registry.npm.taobao.or
2020-05-19 10:02:35
352
原创 Shell 字符串包含关系的用法
方法一:利用grep查找strA="long string"strB="string"result=$(echo $strA | grep "${strB}")if [[ "$result" != "" ]]then echo "包含"else echo "不包含"fi先打印长字符串,然后在长字符串中 grep 查找要搜索的字符串,用变量result记录结果如果结果不为空,说明strA包含strB。如果结果为空,说明不包含。这个方法充分利用了grep 的特性,最为简洁。方
2020-05-18 10:56:16
1076
原创 Linux shell获取相关目录
当前目录current_path="$PWD" # 同 "`pwd`"上一级目录path=$(dirname "$PWD") 上上级目录 (原理同上)path=$(dirname $(dirname "$PWD"))目录的最后部分last_component=$(basename "$PWD")
2020-05-18 10:54:42
1048
原创 shell 字符串相关
在某个文件中查找所有的serach_str并替换为replace_strsed 's/serach_str/replace_str/g' file_pathserach_str 要搜索的字符串replace_str 用于替换搜索到的字符串file_path 文件路径sed ‘s/to/too/g’ my.txt一、判断读取字符串值${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 *${var:-D
2020-05-18 10:53:09
218
原创 Harbor 私有镜像仓库详细记录
harbor官网:官网github地址:项目地址文档:v1.10-release介绍Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。Registry是Dcoker...
2020-04-29 18:13:49
1340
原创 linux 麒麟 测试osg osgearth
osgpro文件#-------------------------------------------------## Project created by QtCreator 2020-02-17T15:09:20##-------------------------------------------------QT += core guiQT +=...
2020-02-20 17:18:16
1567
原创 centos7 升级cmake 详细操作
编译cmake文件时,报错:unknown cmake command “CONTINUE”猜测这是 cmake 版本过低导致的,那么就需要升级 cmake 到更高的版本。下面是升级 cmake 的步骤:卸载原有通过 yum 安装的 cmake:sudo yum remove cmake下载cmake安装包:wget https://github.com/Kitware/CMake/r...
2020-01-19 16:41:14
1146
原创 Linux(centos 7,麒麟V7.0已测试)下编译osg3.4.0 osgearth2.8
安装第三方依赖库$sudo yum -y install zlib-devel$sudo yum -y install libpng-devel$sudo yum -y install libcurl-devel$sudo yum -y install freetype-devel$sudo yum -y install libjpeg-devel $sudo yum -y insta...
2020-01-19 16:36:20
4492
12
原创 QT简易视频播放器
videoplayer.cpp#ifndef VEDIOWINDOW_H#define VEDIOWINDOW_H#include <QMainWindow>#include <QVideoWidget>#include <QMediaPlayer>#include <QFileDialog>#include <QMediaPl...
2020-01-10 10:13:51
1979
转载 C++ 语言extern关键字用法和理解
https://blog.csdn.net/qq_27664167/article/details/82859852
2020-01-08 18:44:13
166
容器技术基于事件驱动的分布式镜像分发系统:支持高并发同步与自动去重的容器化部署方案设计
2025-11-11
vs2015 x64 debug 自编译OSG3rdParty(包含nvtt)
2019-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅