0 基础学运维:解锁 K8s 云计算运维工程师成长密码

前言:作为一个过来人,我曾站在技术的门槛之外,连电脑运行内存和内存空间都傻傻分不清,完完全全的零基础。但如今,我已成长为一名资深的k8s云计算运维工程师。回顾这段历程,我深知踏上这条技术之路的艰辛与不易,也明白方向和方法的重要性。

想要在这个领域入行并拥有出类拔萃的技术,扎实的基础、对高级架构的理解,以及丰富的实战经验缺一不可。需要沿着基础、高级架构、实战进阶这三大板块所细分出的技术点,一步一个脚印地学习。初次看到这么多技术要点,心生畏惧是再正常不过的反应,我自己刚开始时也被唬住了。

好几年前,我独自一人奔赴北京,决心为梦想拼搏。为了专注学习技术,我戒掉了心爱的游戏。工作日里,我沉浸在技术的海洋中努力汲取知识;周末本应是休息放松的时光,我却选择泡在教室里,认真复习巩固一周所学,就这样日积月累,才打下了坚实的基础。

在接触这些技术之前,会觉得它们高不可攀,仿佛攀登陡峭的山峰,困难重重。但当你真正深入其中,随着知识和经验的积累,就会惊喜地发现,许多操作早已得心应手,无需刻意思索就能完成,这便是“知行合一”的境界。

这篇博客,是我为大家精心准备的入行技术线路图,希望能为你们指引方向。如果想更高效地掌握这些技术,我强烈建议像我当年一样,进行系统的学习。如今网络上的学习资料铺天盖地,看似丰富,实则零散。面对海量信息,你很难分辨哪些是重点,哪些内容需要深入钻研,这不仅会耗费大量时间,还可能因错误的引导而走弯路。

如果你渴望像我一样系统学习,少走弯路,欢迎随时联系我,或者也可以联系我的师姐,我们非常乐意帮助大家开启这段充满挑战与机遇的技术之旅。

基础课程

阶段一:系统管理基础篇

一、 行业介绍和计算机基础

  • 中大规模互联网业务系统的典型组件与典型架构(硬件体系(数据中心:服务器、网络设备、存储设备)和软件体系(业务系统、中台系统和支撑系统)简介)
  • IT部门岗位分类(研发、测试和运维)及职责介绍,以及泛运维领域岗位职责分类
  • 一个互联网业务系统的运维能力发展典型阶段:人工运维、脚本和工具化运维、平台化运维、自运维系统
  • 数据中心:网络和网络设备、服务器设备、存储设备、供配电系统
  • 硬件系统:服务器和网络设备简介
  • 软件系统:系统软件和应用软件,操作系统和Linux
    a.Ubuntu 2204–>Ubuntu 2404
    b.国产化Linux(选一):麒麟、统信UOS、深度、OpenEular
  • 主机虚拟化程序和Linux系统安装
  • 云主机的基本使用(可基于私有云桌面版Ubuntu系统镜像):创建、启动和接入到终端等

二、Linux系统基础及常用命令

  • Linux用户账号基础;
  • Linux系统访问接入:桌面和命令行简单介绍,以目录和文件管理为例对比演示说明:
    a.在桌面环境(GNome或KDE)演示如何创建、移动、删除文件和目录
    b.在命令行环境演示相关的功能,并对比演示命令执行结果
  • 终端:
    a.终端类型及当前系统终端
    b.交互式接口及shell基础
    c.shell内部外部和外部命令
    d.命令别名
  • 常见的系统命令,以及shell的常用特性:
  • 命令的使用帮助:善用帮助信息、搜案引擎和ChatGPT:

三、文件管理命令和IO重定向

  • Linux的文件系统层级结构标准(FHS)及路径遍历
  • Linux系统上的文件类型及标识方式
  • 文件时间戳atime、ctime、mtime
  • glob通配符*、?及常用字符集合表示等特殊符号
  • 目录管理类命令:mkdir、rmdir、tree
  • 文件管理工具:cp,mv,rm及单源复制和多源复制
  • 链接文件的创建In[-s]及符号链接与硬链接区别
  • I/O重定向之输入重定向、输出重定向、错误输出重定向
  • tr命令、tee命令及特殊文件文件/dev/null和/dev/zerO
  • 多命令执行管道概念

四、用户管理、权限管理和文本处理工具基础

  • Linux的用户、组、权限基础,进程安全上下文及用户和权限管理模型
  • 用户和组的配置文件/etc/{passwd,shadow,group,gshadow} 文件字段说明
  • 敏感文件操作命令 vipw、vigr、pwck、grpck和getent简介
  • 用户和组管理命令:
    a.useradd,usermod、userdel、passwd,chage
    b.grouadd、groupmod、groupdel
    c.id、su
  • 文件权限管理 rwx权限体系介绍,文件属主属组操作命令chown和chgrp,以及权限修改命令chmod
  • umask 和默认权限
  • suid、sgid、stid 特殊权限,chattr、lsattr特殊属性
  • 访问控制列表ACL setfacl、getfacl命令
  • vim编辑器基础应用、可视化模式、文件查找、多窗口模式
  • 文件常用命令cat、more、less、head、tail等命令
  • 文本查看及处理工具wc、cut、sort、uniq、diff和patch等命令

五、正则表达式、文件查找和压缩

  • 基本正则表达式及扩展正则表达式
  • 文本搜索工具:grep,egrep,fgrep
  • 文件查找非实时查找locate命令简介
  • 文件实时查找find命令
    a.查找条件:-name、-iname、-regex、-user、-group、-type、-size、-perm
    b.处理动作:-print、-ls、-delete、-fls、-ok、-exe
  • xargs命令及find组合
  • 文件压缩工具qzip、xz、zip、tar及各自的解压缩的使用
  • 流编辑器sed工作原理:模式空间、保持空间讲解
  • sed命令常用选项-n、-e、-f、-r、-i讲解与示例演示
  • sed命令地址定界:空地址、单地址、地址范围、步进表示法
  • sed命令常用的编辑命令d、p、a、i、c、w、r、=、!、s///讲解与示例分析

六、shell编程基础

  • bash脚本规范及执行方式
  • 本地变量、环境变量、局部变量、位置参数变量
  • 逻辑组合与或非
  • 配置文件profile类、bashrc类、以及logout类文件详解
  • 算术运算let VAR=算术表达式、VAR= [ 算术表达式 ] 、 V A R = [算术表达式]、VAR= [算术表达式]VAR=((算术表达式))、VAR=$(expr $ARG1 $OP $ARG2)
  • 算术运算
  • 状态返回值$?及参数传递$1、$2、$3…
  • 用户交互及read命令等
  • 条件判断三种方式:test EXPRESSION[EXPRESSION]
  • 测试类型:数值测试、字符串测试、文件测试、命令返回状态,以及组合条件(与、或、非)
  • 选择执行之if语句:单分支,多分支及示例
  • 选择执行之case语句

七、软件管理

  • Linux程序包管理器基础及程序包的组成
  • rpm包管理器常用命令rpm命令的安装-i、升级-U、卸载-e、查询-q、校验-V等
  • rpm管理的前端工具yum介绍
  • 常见的yum仓库配置与使用
  • yum/dnf命令的用法安装install、升级update、卸载remove、缓存构建makecache、包组管理groupin-stall、groupupdate grouplist、groupremove 、groupinfo
  • 自建yum仓库,介绍createrepo工具的使用
  • ubuntu的dpkg包管理器管理deb包
  • deb包的管理工具apt/agt-get使用
  • deb仓库配置及加速
  • 程序包源码编译安装三步走:./configure、make、make install
  • 源码安装后的配置;环境变量等

八、 磁盘存储和文件系统

  • linux磁盘管理之硬盘结构及分区基础
  • 磁盘分区管理命令fdisk,gdisk,parted的使用
  • 文件系统组织原理和常见的虚拟文件系统ext系列、xfs、iso9660、nfs、vfat、swap
  • 文件系统创建mkfs与管理工具fsck、blkid等
  • 挂载mount及挂载选项和umount、fuser、lsof命令的使用
  • swap分区的创建mkswap,启用swapon和禁用swapoff
  • 开机挂载及/etc/fstab文件及du、df命令
  • 常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD与相关概念详解
  • LVM2工作原理及相关概念详解
  • LVM2软件创建管理工具,以及卷的扩展与缩减

阶段二:系统管理进阶篇

一、网络协议和网络通信

  • 计算机网络通信及OSl七层模型概述
  • OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
  • 网络设备概念MAC、网桥,交换机工作原理的讲解
  • 网络层:IP网络、子网、超网及报文路由
  • 透辑地址IPV4和IPV6,网络地址、子网及其功能
  • 路由设备及相关的路由协议简介
  • 路由分类:网络路由、主机路由、默认路由详解
  • VLAN及其工作机制简介
  • TCP/IP协议栈介绍和分层
  • 传输层:TCP协议进程通信原理及TCP的有限状态机及其特性
  • 进程通信方式:IPC及Socket介绍
  • IANA端口分配标准(特权端口:0-1023、注册端口:1024-49151动态端口:49152)
  • 应用层协议简介,介绍常用的http/https等
  • IP层、IP协议结构和分类
  • 网络地址规划和网络划分

二、Linux网络属性配置及相关工具的应用

  • Linux网络配置文件子网掩码、网关、等参数详解
  • 网络管理相关命令ifconfiq、route、netstat命令讲解
  • iproute家族ip link、ip address、ip route、ss命令
  • nmtui及nmcli命令详解
  • bondinq和team技术
  • 网桥bridge实现
  • 常见的网络客户端工具ping,mtr,traceroute,tcpdump等
  • Ubuntu系统网络配置专用工具netplan用法介绍
  • Ubuntu实现bonding和网桥功能

三、shell编程进阶

  • 循环执行之for语句详解与示例
  • 循环执行之until语句和while语句
  • bash脚本编程之break、continue、跳出循环实例
  • bash编程之while循环及for循环特殊用法示例
  • function及函数的生命周期详解
  • 函数的递归与返回return、传参
  • 数组定义、声明及引用方式的讲解
  • 非稀疏数组及关联数组相关概念及基础讲解
  • 字符串切片${var;offset:number}:基于模式取子串、查找替换、详解
  • 信号的相关基础列出trap -l、kill -l、man 7 signal
  • (选讲)信号的捕捉及应用:HUP、INT

四、进程管理和计划任务

  • Linux进程和线程:父进程fork自身产生子进程
  • Linux内存和进程结构
  • 同一主机进程通信方式和不同主机通信方式
  • 进程的类型:守护进程和前台进程与状态:running、ready、sleeping、zombie、stopped及分类
  • Linux进程管理工具ps、uptime、top、htop、vmstat、lsof等命令
  • Linux作业控制jobs、fg、bg、kill及进程优先级nice值调整
  • Linux任务计划at命令和周期性任务执行crontab命令详解

五、Linux启动流程、配置内核参数和AWK

  • Linux操作系统的组成部件:
    a.静态Linux操作系统的组成部分:内核+根文件系统
    b.运行中的llnux系统环境介绍:内核空间+用户空间
  • 内核的设计流派及linux内核的特点:模块化、支持动态装卸载
  • Linux系统初始化基本流程,以及传统系统运行模型下的7种启动级别简介
  • grub2启动引导程序配置及命令行接口、单用户模式及救援模式修复grub2
  • 内核模块管理相关的命令lsmod、modprobe和insmode简要说明
  • 常见的内核参数讲解
  • 伪文件系统目录/proc和/syS
  • Systemd及其功用、Unit常见类型、系统服务管理命令systemctl
  • systemd运行级别管理:target unit格式、常用参数及编写要
  • systemctl命令的常见用法:级别查看、切换、关机重启
  • 文本格式化工具awk工作原理
  • awk命令用法示例讲解
  • awk内建变量F5、OFS、RS、ORS、NF、NR、FILENAME使用示例讲解
  • awk处理动作打印print与格式化打印printf命令详解
  • awk进阶之数组和函数示例及讲解

六、 域名解析和DNS服务

  • 应用层协议DNS起源与发展
  • DNS服务选代与递归查询原理
  • DNS区域数据库文件资源记录A、AAAA、PTR、SOA、NS、CNAME和MX详解
  • 主从DNS股务器工作机制
  • bind程序的安装于使用
  • DNS正向区域、反向区域与缓存dns的配置演示
  • rndc、dig、host、nslookup工具使用
  • bind的从DNS服务器的配置子域授权
  • bind中的基础安全相关的配置
  • CDN工作原理
  • httpDNS简介
  • 在公有云中配置DNS解析

七、通信安全和时间同步

  • 网络通信中安全机制和各种攻击方式介绍
  • 对称加密、非对称加密算法及单向哈希算法介绍
  • PKI体系介绍,以及基于0penSSL等创建私有CA实现数字证书颁发
  • https通信流程详解
  • ssh协议介绍,0pensSH服务安装、配置和优化
  • sudo体系及实现权限委派案例

八、NFS、Rsync服务和rsyslog日志

  • NFS协议及工作机制
  • NFS服务配置及应用
  • 利用Rsync和Inotify同步数据
  • 利用sersync实现实时数据同步
  • rsyslog及服务器配置
  • 日志转储

阶段三:HTTP与高性能Web应用

一、HTTP协议工作模型和httpd基础配置和应用

  • 基于Web的服务架构介绍,以及常见的企业Web架构案例
  • 常见的网络I/O模型及同步/异步消息通知机制讲解,以及多路I/0复用select、pol和epoll对比说明
  • HTT协议基础、HTTP事务的处理流程,及超文本标记语言简介
  • Web服务中动态资源和静态资源,URL统一资源定位符标识资源的方式及资源间的reference
  • Request报文语法格式与Response报文语法格式
  • Request报文之请求方法GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS
  • Response状态响应吗1xx、2xx、3xx、4xx、5xx及常见得状态响应码
  • HTTP协议中的Cookie和Session
  • Apache httpd应用安装和配置说明
  • 配置和使用虚拟主机
  • 配置和使用https虚拟主机
  • 通用网关CGI标准、php编程语言、Zend Engine解释器、加速器相关概念介绍
  • 配置LAMP动态Web环境,并部署Wordpress示例

二、Nginx基础

  • Nginx程序架构及工作机制
  • Nginx安装、配置文件语法格式及基本应用,以及平滑升级和回滚
  • Nginx全局配置段及关键配置参数
  • http块配置、Location、虚拟主机配置及应用,以及https虚拟主机
  • 基于域名的企业PC站点与移动站点
  • rewrite模块功能、配置参数及配置案例
  • Nginx防盗链及跨域资源调用(Cors)
  • 压力测试工具ab、及curl、elink、htpasswd命令

三、Nginx反向代理(http和fastcgi)和优化

  • Web反向代理及其工作机制
  • 七层代理ngx_http_proxy_module模块、缓存服务及配置案例(Nginx–>httpd–>php module(word-press)–>MySOL)
  • 负载均衡机制(四层和七层)及其应用场景介绍
  • Nginx七层调度模块ngx_http_upstream module工作机制、调度算法及使用案例
  • nginx模块应用之ngx_http_headers_module
  • Nginx四层代理和调度模块ngx_stream_upstream工作机制及使用案例
  • LNMP:FastCGl协议、ngx_http_fastcgi_module模块工作机制及使用案例(Nginx–>php_fpm(word-press)–>MySQL)
  • Nginx的二开版OpenResty和Tengine简介

四、Java、JSP、Tomcat及应用运行案例

  • lava编程语言及技术体系结构规范概述
  • Java 2SE (JDK)及企业级类库jsp、servlet简介
  • Web Container的开源实现Tomcat历史介绍
  • Tomcat的顶级组件、服务组件、连接器组件、容器类、被嵌套类组件、集群类组件等核心组件介绍
  • Tomcat的JDK环境安装及tomcat的安装部署:OpenJDK+Tomcat、OracleJDK+Tomcat
  • JSP WebAPP组织结构及webapp归档
  • manager及host-manager的配置及应用
  • Tomcat的配置定制:连接器、虚拟主机、Context及访问日志等
  • JSP Web应用程序的部署示例(JPress)及部署webapp的相关操作
  • 基于Nginx进行负载调度及动静资源分离分发方式

五、Tomcat集群和JVM

  • Maven工程工具简介、安装配置及示例应用构建,并推送制品到Nexus中
  • 会话管理:session sticky、session cluster、session server
  • Tomcat 会话复制集群的配置解析及部署验证
  • Tomcat会话保持与会话服务器(msm)配置示例详解
  • JVM运行时内存区域、堆内存分段机制、常用的垃圾收集算法及垃圾收集器
  • 新生代及老代年的垃圾收集器搭配机制
  • JVM常用的优化思路及配置参数和常用的监控工具用法介绍
  • Tomcat自身常用的优化要点

阶段四:运维工具篇

一、Linux防火墙和iptables

  • 防火墙功能及特性概述
  • iptables和netfilter特性及工作逻辑介绍
  • iptables四表(filter、mangle、nat、raw)五链(prerouting、input、forward、output 、postrouting)详解
  • iptables命令链管理、规则管理、规则查看基本用法
  • iptables基本匹配、扩展匹配、隐式扩展、显式扩展
  • iptables扩展模块应用:多端口匹配、连接追踪、报文状态匹配等企业级应用
  • iptables规则保存、重载、生效机制及安全体系工具
  • iptables之forward转发
  • iptables之SNAT、DNAT及端口地址转换
  • 新一代防火墙技术nft简介

二、Ansible和应用编排

  • 自动化运维技术框架系统安装、程序发布、应用布局宏观介绍
  • Ansible工具特性及工作机制详解
  • Ansible多方式安装及简单应用
  • Ansible常用模块command、shell、copy、cron、fetch、file、service、user、setup等模块详解

三、Ansible应用进阶

  • YAML语言介绍与语法
  • Ansible Playbook(剧本)核心元素Hosts、Tasks、Variables、Templaters、Handlers、Roles详解
  • Ansible Playbooks基础组件实际应用实例讲解
  • Ansible 创建角色roles实现代码重用详解
  • Role内各目录中可用的文件定义及角色调用实现
  • 案例:编写Role,自动编排部署Nginx、Tomcat、MySOL和JPress

四、OpenVPN和Jumpserver

  • VPN基础及常见的实现方式
  • OpenVPN基础及远程服务器管理中的应用
  • OpenVPN服务构建
  • OpenVPN客户端
  • JumpServer 关键功能与特性
  • JumpServer安装、配置,以及资源管理、用户管理、账号管理和权限管理等快速入门

阶段五:关系型数据库

一、MySQL基础

  • 数据库概念和类型:SQL和NoSOL
  • 关系型数据库管理系统介绍
  • 关系型数据库的关系运算和设计范式
  • 关系型数据库表、索引、视图及三层模型讲解
  • MySQL安装与安全配置
  • MySQL的客户端程序mysql、mysqladmin工具介绍
  • MySQL数据类型:字符型、数值型、日期时间型简介
  • MySQL服务端和客户端命令使用
  • SQL语句之DDL、DML语句用法详解
  • 表的创建、修改、删除及表的状态信息查看
  • 视图,函数,存储过程和事件管理
  • 用户和权限管理
  • MySQL的图形化的远程管理工具Navicat和SQLyog

二、MySQL性能优化和日志管理

  • MySQL速辑架构
  • MySQL存储引擎之InnoDB、MyISAM引整详解
  • MySQL服务器全局变量,会话变量,及状态变量详解
  • 常见的索引:聚集索引、主键索引、稀疏索引、B树索引的介绍
  • 索引的管理:查看、创建、及删除
  • MySQL基于读/写锁实现并发访问控制
  • MySQL事务之ACID测试、及事务的隔离级别READ UNCOMMITTED、READ COMMITTED、REPEATABLE
    READ、SERIALIZABLE详解
  • 事务日志相关命令及变量详解
  • 慢查询日志相关变量及优化查询
  • 错误日志分析

三、MySQL备份还原和主从复制

  • 二进制日志相关的变量设定及查看
  • mysqlbinlog命令的用法
  • 常见的数据库备份类型:完全备份、增量备份、差异备份热备份、温备份、冷备份物理备份、逻辑备份
  • 常用的备份策略及方案设计:完全+增量
  • 常用的备份工具mysqldump、cp、tar等复制归档工具
  • 备份的数据快速恢复及注意事项
  • 冷备份,温备份及热备份实现
  • 逻辑备份工具:mysqldump使用实例讲解

四、MySQL读写分离和高可用

  • MySQL常见的扩展方式Scale Up、Scale Out
  • MySQL复制特点及复制架构详解
  • MySQL主从复制中主节点、从节点配置实例详解
  • MySQL复制架构中的数据一致性及事务安全性保持
  • MySQL主主复制配置原理及案例演示
  • MySQL半同步复制原理及案例演示
  • MySQL复制过滤器配置原理及实现指定数据库(表)的快速备份案例演示
  • MySQL复制过程中的日志清理与监控备令详解
  • MySQL主从复制中数据不一致的解决方案
  • MySQL复制中数据损坏或丢失、混合使用存储引擎、serverid的不唯一、及复制延迟中出现的问题及解决方案
  • MySQL数据库的切分:重直切分:分库、水平切分:分表
  • MySQL读写分离及常见的解决方案MYCAT
  • MySQL集群Cluster实现PXC

实战项目(1):Java单体应用JPress

实战案例–基于Tomcat的]ava应用

  • JPress/Wordpress

目标

  • 各组件尽量以面向生产环境的方式部署
  • NFS、Nginx、Tomcat、MySQL和MyCAT
  • Ansible进行部署和新版本发布
  • 用上JumpServer,模拟进行远程管理接入
  • Shell脚本和Xtrabackup/mysqldump:MySQL数据库备份和远程存储

验证

  • Ansible进行版本发布过程中,服务不会中断
  • MYCAT和MySQL实现的读写分离架构中,数据能够正常读写
  • Memcached用作Session server,确保会话保持的功能
  • 模拟数据丢失,确保数据库的备份文件能够用于进行恢复

阶段六:接入层及高可用

一、 LVS

  • Linux集群及系统扩展的方式概述
  • Linux集群类型及调度方法详解
  • lvs工作原理及专用术语介绍
  • lvs常见的四种集群lvs-nat、Ivs-dr、Ivs-tun、lvs-fullnat优点及使用场景
  • LVS 调度方案RR、WRR、SH、DH、LC、WLC、SED、NQ、LBLC、LBLCR详解及应用场景
  • 负裁均衡集群中会话保持方式:源地址hash、会话集群、会话服务器
  • ipvsadm集群服务管理工具使用
  • LV5-NAT的配置以及负裁应用
  • LV5-DR的配置以及负载应用
  • LVS-FW方式实现LVS的affinity应用
  • LV5 FWM 持久性连接应用环境理论及实现

二、Keepalived

  • HA Cluster高可用相关原理介绍
  • vrrp协议与专业术语介绍
  • keepalived相关工作原理介绍
  • keepalived软件安装与配置
  • keepalived主备、双主互备、多主多备vrrp实例配置及实现
  • 实战案例:高可用ipvs调度器及对RealServer进行健康状态检测
  • 自定义监控脚本
  • vrrp script及其应用示例
  • keepalived基于vrrp script高可用nginx及haproxy调度器

阶段七:监控系统

一、Zabbix

  • 监控系统概述
  • zabbix组件介绍及zabbix监控基础、工作机制及监控实现方式
  • zabbix server、agent安装、配置详解及监控数据采集流程
  • 通过脚本一键自动批量安装zabbix agent
  • 数据采集工具引用标识(key)与监控项配置
  • 触发器,触发器表达式与触发器事件
  • Action的工作机制及Operations应用:远程命令、告警及告警升级
  • 高级配置:宏、自定义key及监控模板
  • SNMP协议基础及基于SNMP协议的监控配置
  • 聚合图形、dashboard展示
  • 部署主动模式代理+主动模式agent客户端
  • 监控TCP连接数(主动模板和被动模板)
  • 监控redis及自定义模板
  • 监控mysql脚本及自定义模板
  • zabbix 故障自治愈功能简介与实现案例
  • URL和自定义脚本及模板监控端口和进程
  • grafana结合zabbix显示绚丽图形
  • 用户和组管理
  • 自定义系统基础监控模板
  • 实现及邮件通知机制,微信报警、短信报警等
  • zabbix proxy分布式监控及主被动模式详解及监控案例
  • 网络发现及自动注册
  • zabbix API使用基础及通过API快速添加监控服务器案例
  • zabbix性能优化
  • zabbix的高可用

实战项目(2):增强Java单体应用站点可靠性

实战案例 --完善基于Tomcat的]ava系统环境

  • jPress/Wordpress

目标

  • 各组件尽量以面向生产环境的方式部署
  • NFS、Nginx、Tomcat、MySQL和MyCAT
  • Ansible进行部署和新版本发布
  • 用上JumpServer,模拟进行远程管理接入
  • Shell脚本和Xtrabackup/mysqldump:MySQL数据库备份和远程存储
  • Nginx模拟做业务网关,耦合请求至业务请求路径中,LVS做接入层流量网关
  • (可选)基于Keepalived高可用LVS;若该组件可选,则需要使用keepalived高可用nginx
  • 使用Zabbix监控以上系统中的每个组件,规划好存储空间,并制订合理的告警策略
    LVS集群
    Nginx集群
    Tomcat和JVM
    Memcached
    NFS及同步状态
    MySQL主从复制集群
    JumpServer
    Zabbix Server监控系统自身

验证

  • Ansible进行版本发布过程中,服务不会中断
  • MyCAT和MySQL实现的读写分离架构中,数据能够正常读写
  • Memcached用作Session Server,确保会话保持的功能;
  • 模拟数据丢失,确保数据库的备份文件能够用于进行恢复
  • Nginx某一实例故障,不会大面积影响业务访问;
  • LVS某一实例故障,不会大面积影响业务访问;
  • Zabbix能够及时发现问题,并进行及时告警

高级架构课程

课程框架:

阶段八:虚拟化和容器

一、KVM虚拟化和OpenStack简介

  • 虚拟化技术基础
  • 虚拟化技术分三类:主机虚拟化(模拟、半虚拟、完全虚拟化)、容器、程序级虚拟化等
  • 主机级虚拟化中cpu、memory、I/O虚拟化方式及网络虚拟化机制
  • KVM虚拟化基础KVM虚拟化技术实现原理
  • KVM模块载入后的模式:内核模式、用户模式、来宾式、及kvm hypervisor详解>kvm的特性与局限性详解
  • KVM的工具栈:qemu、libvirt的使用
  • 构建KVM环境:KVM的安装、配置及应用
  • 管理KVM虚拟机(virsh,virt-manager及qemu-kvm)
  • kvm常用的虚拟网络模型详解:桥接模型、NAT模型、路由模型、离模型概念及实现
  • 磁盘镜像文件管理制作虚拟机模板镜像,并批量创建虚拟机
  • 基于kvm运行windows server服务器系统
  • 概述KVM虚拟化的其它管理工具:0penStack、oVirt、Proxmox等

二、Docker

  • Linux容器技术及其关键组件CGroups及Namespaces
  • 低级容器运行时与高级容器运行时、OCI
  • 现代应用容器技术Docker的特性及分层组件
  • Docker架构及工作模型
  • Docker对比虚拟机优缺点,以及其它常见的容器引擎
  • Docker存储引擎对比及选择
  • Docker CE安装与初始化
  • Container和Image管理相关的常用操作
  • Dockerfile制作、Docker镜像分层制作精讲及案例
  • 镜像优化与镜像漏洞扫描
  • Docker的存储管理机制、数据卷和数据卷容器
  • Docker网络模型与跨主机的容器间通信
  • Docker资源限制介绍、CPU与内存资源限制实现

三、Containerd和Harbor

  • docker-compose命令详解及单机容器编排企业案例
  • Docker Registry 介绍
  • Harbor镜像仓库单机
  • Harbor镜像仓高可用实现、镜像扫描、镜像加速
  • Containerd基础、部署与快速入门

阶段九:NOSQL存储系统

一、Redis基础

  • 存储系统上的ACID、BASE及CAP理论
  • NOSQL的常见技术流派及相关的常用实现方案
  • Redis特性及功能
  • 数据管理接口:各种数据类型的基础管理操作
  • Redis配置详解
  • RDB及AOF持久化机制对比介绍及其配置
  • Redis数据类型介绍

二、Redis进阶

  • Redis消息服务的实现
  • 主从复制工作机制、配置方式,以及主从复制集群的部署
  • Redis Sentinel功能、部署方式及部署案例
  • Redis Cluster集群基础概念及工作机制
  • Redis Cluster部署案例及集群服务器上下线
  • Redis数据跨服务器迁移
  • Redis其他横向扩展实现方式

三、MongoDB

  • MongoDB数据库关键特性
  • MongoDB数据模型:document、collection和database等
  • MongoDB安装并连接到服务端
  • MongoDB的CRUD操作:datadabase和document的基础管理
  • MongoDB复制集工作原理和实战
  • MongODB分片集群工作原理和实战
  • MongoDB备份和还原

阶段十:CICD和DevOps

一、Git和GitLab

  • CI/CD、敏捷开发、DevOps概述
  • 持续集成与持续部署工具链
  • 常见的代码部署方式介绍,如蓝绿部署、灰度发布、金丝雀部署、滚动部署、A/B测试
  • 分布式版本控制工具的工作模型、git基础概念及基本应用
  • 分支管理、常见的分支模型及各自的协作流程
  • 远程仓库与GitLab
  • Gitlab简介、安装、账户与权限管理、项目管理
  • Gitlab分支管理、分支合并、代码clone、数据备份、数据恢复

二、Jenkins自由风格流水线

  • Jenkins简介、安装、插件管理
  • 作业类型及各自的特性
  • Jenkins凭据管理
  • 常用类型的触发器,以及基于GitLab的自动触发机制
  • 参数化构建
  • 结合Ansible实现自动化部署
  • 构建通知

###三、Jenkins Pipeline

  • jenkins分布式架构概念与实现
  • 声明式Pipeline语法结构
  • 声明式Pipline快速入门
  • 参数化Pipeline及高级应用
  • 基于spring-boot-helloworld的声明式Pipeline完整示例
  • jenkins通知机制,在声明式Pipeline中使用post{}
  • Jenkins视图简介与应用场景
  • 代码质量测试工具sonarqube简介
  • Sonarqube部署、插件管理、实现代码手动扫描
  • Jenkins集合sonarqube实现代码自动扫描

实战项目(3)

实战案例–自动化构建SpringBoot和Vue应用项目案例

在线小说网:novel和novel-front-web

  • novel:前后端分离的在线小说项目,此为后端,基于Spring Boot3开发
  • novel-front-web:novel的前端,基于Vue 3开发

依赖的后端服务包括MySQL8.0、Redis 7.0、ElasticSeach 8.x(可选)RabbitMQ 3.x(可选)和XXL-Job(可选)

  • 三个可选项默认均为关闭状态,该示例中,此三者也将基于默认配置,不予部署和使用

目标

  • 简述SpringBoot MVC及相关的框架体系
  • 容器化运行novel和novel-front-web相关的项目
  • 部署高可用Harbor系统,以及分布式的Jenkins系统
  • 基于Jenkins自动化构建novel并推送镜像至Harbor中
  • 持续交付:自动化更新线上实例,并运行为容器实例(ansible或docker)
  • 制订用于novel和novel-front-web更新的灰度策略,并实施相关的策略
  • Zabbix监控整个系统环境

阶段十一:消息队列

一、Zookeeper和Kafka

  • ZooKeeper架构组件和典型应用场景(发布/订、负载均衡、分布式协调/通知、…)
  • Zookeeper数据模型、选举机制和节点类型
  • Zookeeper单机部署、配置及常见命令的用法
  • Zookeeper集群部署、扩缩容及运维管理
  • 发布与消息订阅系统简介
  • 消息、消息队列和Broker的基础概念
  • Kafka特性、设计理念和系统组件
  • 生产者、消费者及消息收发的工作逻辑
  • Kafka部署模式、单实例部署和基础配置

二、Kafka和其它消息队列

  • Kafka主颖配置、复制系数和分区机制
  • Kafka的再均衡与分区分配策略
  • Kafka的日志存储与事务机制
  • Spark和Kafka Streaming简介
  • RabbitMQ快速入门:系统组件、工作机制、集群部署和基础管理操作
  • (选讲)RocketMQ快速入门:系统组件、工作机制、主从复制集群和基础管理操作
  • 项目案例(3)扩展:为实战项目(3)升级Redis主从架构,并添加RabbitMO集群

阶段十二:搜索引擎和日志中心

一、ElasticSearch及集群管理和优化

  • 搜索引擎及功能组件概述
  • 索引组件Lucene及搜索组件ElasticSearch和Solr简介
  • ElasticStack及小、中及大型规模下的日志采集、存储、展示及搜索平台的架构体系
  • Lucene的多样化查询:域、范围、字符串、模糊查询简介
  • ES集群组件及工作机制
  • ES集群部署及API接口基础使用
  • ElasticSeache插件管理,部署中文分词插件analysis-ik和analysis-pinyin
  • ES的常用ETL工具栈及LoqStash和Beats组件
  • LogStash Aqent部署及基础应用
  • LogStash常用的input、filter和output插件体系与常用插件,如grok和geoip等

二、日志中心:filebeat、LogStash和Kibana

  • LogStash Server部署及运行
  • Kibana基础概念、部署、认证及其展示接口的配置
  • Logstash多类型服务访问日志及系统日志收集
  • Java日志合并、Nginx访问日志及TCP日志
  • Syslog日志收集,以及基于RedisList收集Nginx访问日志
  • Kibana Dashboard使用及自定义图形
  • Logstash和Filebeat结合Kafka实现企业级日志收集案例
  • 日志写入数据库及地图显示客户端城市
  • Kibana日志分析,Nginx日志(pv、ip、地理位置等)
  • (选讲)项目案例(3)扩展:为实战项目(3)添加ElasticSearch搜索引擎和ELK日志中心

阶段十三:微服务和对象存储

一、Springcloud微服务框架和Nacos

  • SpringBoot MVC和SpringCloud微服务框架相关的概念
  • 国内主流的微服务治理生态全景
  • Nacos系统组件及工作机制
  • Nacos 部署模式、单机部署和控制台功能介绍
  • Nacos 的关键配置参数和鉴权体系
  • Nacos 集群模式部署和多集群模式介绍
  • 基于 Docker部署和运行Nacos

二、API网关、SpringCloud Gateway和APISIX

  • API管理(API Management)与API网关(API Gateway)介绍
  • API网关的类型:流量网关与业务网关各自的功能
  • 主流的API网关项目及功能对比(例如SpringCloud Gateway、Zuul、Kong、APISIX等)
  • SpringCloud Gateway特性、核心概念与工作流程
  • SpringCloud Gateway断言(Predicate)、动态路由配置和过滤器
  • APISIX架构组件和插件体系介绍,APISIX Dashboard
  • 部署、运行APISIX和APISIX Dashboard
  • APISIX的关键术语(Route、Service、Consumer、Upstream和Plugin等)及工作机制
  • APISIX的基础管理操作:发布API和保护API
  • APISIX高可用部署方案

三、Sentinel(流量治理)和Seata(分布式事务)

  • 流量治理的基本概念:流量控制、熔断降级和过载保护等
  • Sentinel的功能和设计理念:流量控制、熔断降级和过载保护在Sentinel中的实现机制
  • Sentinel的组成(核心库和控制台),以及部署和启动控制台
  • Sentinel规则类型及基于控制台规则管理接口介绍
  • 流量控制规则、流量控制机制、集群流量控制和网关流量控制
  • 熔断降级规则和熔断策略
  • 过载保护规则及工作原理
  • 热点参数规则和热点参数限流策略,以及访问控制规则和来源访问控制(黑白名单)
  • 控制台鉴权机制,以及关键的配置参数说明
  • 分布式事务与Seata介绍
  • (选讲)Seata事务模式:AT、TCC、SAGA和XA模式

四、对象存储、Minio和华为云OBS(或阿里云OSS)

  • 对象存储的基础概念、特性和适用场景
  • 对象存储的关键术语:对象(0bject)、存储桶(Bucket)、地域(Region)和端点(Endpoint)
  • 公用云的对象存储(阿里云OSS、华为云OBS、Amazon S3和Google Cloud Storage等)简介
  • 开源对象存储方案(Minio、ceph RGW、Zenko和Triton等)简介
  • Minio架构组件、功能特性和数据组织格式
  • Minio核心概念和部署架构:分布式架构和复制架构
  • Minio 基于纠删码和部署架构的数据冗余
  • Minio 分布式集群部署和配置
  • Minio 控制台:集群配置、对象管理和数据安全
  • Minio 客户端程序mc及常用的管理命令
  • (选讲)Minio SDK及使用示例

##实战案例(4)

实战案例 --部署微服务化应用

项目案例(二选一)

  • mall-microservice
  • novel-cloud

目标

  • 部署基础服务:mysql、redis、nacos、elasticsearch、mongodb和minio等
    面向生产环境部署:提供主从复制或者集群服务
    容器化部署,或Ansible编排部署
    关键数据备份策略和灾难恢复策略
  • 部署mall-microservice/novel-cloud的各组件
    容器化部署,或Ansible编排部署
  • 高可用Nginx反代接入,或者使用APISIX接入
  • 配置监控整个系统,并制订合理的告警策略
  • 微服务业务前后端应用经Jenkins自动构建为Image后推送至Harbor
  • 收集系统日志至ElasticStack中

阶段十四:Kubernetes快速入门

一、基础概念、架构组件、工作机制及集群部署

  • 容器编排与Kubernetes编排系统概述
  • Kubernetes系统组件与核心术语
  • Kubernetes网络模型简介
  • 各类部署工具对比介绍,以及kubeadm部署Kubernetes集群的要点及步骤
  • 使用ansible和ansible playbook,快速部署基于containerd的Kubernetes集群
  • Kubernetes应用编排快速入门:Pod、Service和Deployment
  • 资源API和kubectl命令行客户端详解
  • 使用Namespace隔离不同的租户、项目或环境

二、Pod、存储卷和配置

  • Kubernetes集群组件、工作机制回顾与增强
  • Pod的设计理念、配置格式和使用案例
  • 定制容器运行方式:命令、参数和环境变量,以MySQL和Wordpress为例,迁移尝试迁移传统应用至Kubernetes平台
  • 配置Pod:探针、资源需求、资源限制、安全上下文及使用案例
  • 基于容器的设计模式:Sidecar容器、Ambassador容器、Adapter容器和Init容器,以及Init容器使用案例
  • Pod状态及常见的异常问题及其排查问题的思路
  • 存储卷类型、插件、配置规范和使用案例

三、持久卷、存储类、及应用配置

  • 持久卷(PV)和持久卷声明(PVC)的功能、工作逻辑、配置规范及使用案例
  • 存储类的功能、配置规范及使用案例
  • Kubernetes存储架构、CSI以及基于CSI的NFS-CSI-Driver
  • Kubernetes的CAS存储,0penEBS部署,以MSQL和Wordpress为例,为迁移到Kubernetes集群上的应用提供持久化存储的
  • ConfigMap、Secret功能、配置规范,以MySQL和Wordpress为例,为迁移到Kubernetes集群上的应用提供Kubernetes原生方式的应用配置功能
  • DownwardAP1、Proiectd卷功能、配置规范和使用案例
  • Service的功用、模式及工作机制快速入门
  • 标签、标签选择器和注解

四、Service和应用编排

  • Service类型、资源规范及各类型使用案例
  • Service资源名称、名称解析和CoreDNS
  • 配置Pod上的名称解析策略
  • CoreDNS插件体系、查询路由、配置格式、查询重写和常用场景下的配置案例
  • Kubernetes声明式API与控制器模式的基本工作逻辑
  • 无状态应用编排控制器Deployment:应用部署、更新、扩缩容、金丝雀部署、卸载及使用案例
  • 有状态应用编排控制器StatefulSet:应用部署、更新、扩缩容、分区部署、卸载及使用案例(MySQL主从复制集群)

五、应用编排与Ingress应用发布

  • 有状态应用编排Operator工作机制及案例(ECK Operator)
  • 系统级应用编排控制器DaemonSet:应用部署、更新、扩缩容、分区部署、卸载及使用案例(Prometheus Node Exporter)
  • 作业类编排控制器Job、Cronob配置规范及使用案例
  • Ingress资源的功用、类型及同Ingress Controller的关系
  • Ingress Controller的常见实现、部署模式和IngressNginx部署示例
  • Ingress资源类型、配置规范和示例,以及通过Ingress发布应用的实际案例
  • 基于Ingress的灰度发布案例:canary-by-header、canary-by-cookie和canary-by-weight
  • Helm的核心概念、工作逻辑、以及Artifact Hub介绍;
  • Helm案例:部署Wordpress和Harbor;

阶段十五:云原生监控系统

一、Prometheus监控系统入门

  • 监控系统和监控体系回顾,以及四个黄金信号、USE方法和RED方法等监控理论;
  • Prometheus生态组件与工作机制、数据模型和数据采集快速入门;
  • 部署、启动Prometheus Server和Node Exporter
  • 实战案例:监控Prometheus Server、Node、MySQL、Nginx、ElasticSearch和Tomcat,以及使用Black-box Exporter进行黑盒监控:
  • Prometheus数据模型、向量选择器和指标类型;
  • PromOL聚合函数、聚合表达式和向量匹配;
  • Prometheus服务发现工作机制、常见的发现服务及配置案例:基于文件、Consul和Kubernetes AP Server的服务发现;

二、Prometheus监控系统进阶

  • Promehteus重新打标(relabel_configs和metric_relabel_configs)机制及使用案例;
  • 使用记录规则持久保存查询结果,以及基于Grafana展示查询结果;
  • Prometheus告警逻辑、AlertManager告警路由框架及工作机制;
  • 告警规则格式、告警模板字串及相关的配置案例
  • 部署、启动AlertManager,配置邮件告警、钉钉告警等多种告警机制;
  • 告警路由、告警抑制配置案例;
  • Prometheus存储引擎简介,以及配置Prometheus使用远端存储的方法,
  • Prometheus的各类高可用方案介绍;
  • (选讲)VictoriaMetrics系统架构、工作机制,以及部署VictoricMetrics作为Prometheus的远端存储;

阶段十六:Kubernetes实战进阶

一、认证、鉴权及网络插件基础

  • Kubernetes APl Server的访问控制体系及工作机制:认证、鉴权与准入控制
  • 身份认证策略介绍、静态令牌认证、X509数字证书认证及使用案例
  • kubeconfig配置文件格式、管理命令及使用案例
  • ServiceAccount功能、工作机制、配置规范及使用案例
  • 鉴权策略介绍和RBAC鉴权工作原理
  • RBAC鉴权体系中Role/ClusterRole/RoleBinding/ClusterRoleBinding资源规范及案例
  • CNI技术体系及Pod网络基础

二、Kubernetes网络

  • Kubernetes的网络模型及组件间的通信链路
  • CNI插件体系、NetPlugin和IPAM插件类各自的功能和常见的实现、以及容器网络接口的主流实现机制
  • Pod网络解决方案中的Overlay网络和Underlay网络模型,以及各自常见的实现机制
  • 主流网络插件的功能、特性、性能,以及选择插件的评判原则
  • Flannel网络的vxlan、vxlan directrouting、host-gw的工作机制、配置方法和模型验证
  • ProjectCalico网络工作机制、架构组件及支持的网络模型
  • 部署ProjectCalico,配置其使用BGP和IPIP网络,并验证其通信模型

三、Kubernetes集群运维

  • Kubernetes调度相关的概念、经典调度器的调度流程、预选策略、优选策略和新式调度框架
  • Kubernetes的亲调度机制:节点亲和、Pod亲和、Pod反亲和及Pod拓扑分散约束
  • Kubernetes基于污点和容忍度的调度策略
  • Kubernetes节点状态和节点维护
  • Kubernetes高可用架构模型,以及部署高可用的Kubernetes集群示例
  • 集群版本升级注意事项和实践准则,以及升级高可用的Kubernetes集群的案例
  • Velero程序组件及备份、恢复的工作机制
  • Velero备份恢复Kubernetes资源及数据卷的案例

项目案例(二选一)

  • mall-microservice
  • novel-cloud

目标

  • 将实战案例4的环境全线迁上Kubernetes平台
  • 监控系统切换为Prometheus
  • 接入层切换为基于Ingress Controller的Ingress资源

阶段十七:SRE工程理念

一、SRE工程模型

  • SRE的起源、岗位职责、工作原则和适用范围
  • SRE的核心理念、方法论和稳定性的衡量机制
  • 服务质量SLI、SLO和SLA的制订与落地原则
  • 应用事件处理:紧急事件响应、紧急事故管理、故障排查、事后总结和0n-Call机制建设
  • 稳定性建设的方法:基于"主备"的冗余、基于"负载均衡"的冗余、基于平台自愈机制的设计,基于业务架构的设计
  • 灾备建设简介:同机房灾备、同城双活灾备、异地数据灾备、两地三中心和分布式多活

实战进阶

阶段十九:Kubernetes实战进阶

一、基于kubeasz部署高可用Kubernetes集群

  • Kubernetes集群组件架构及服务器硬件选型
  • 准备本地部署环境,并基于kubeasz初始化Kubernetes集群部署过程
  • kubeasz部署Kubernetes集群的配置文件详细介绍
  • 基于ansible-playbook,定制要部署的Kubernetes集群环境
  • Kubernetes集群更新注意事项及更新过程演示
  • 部署常用的附件,例如Kuboard等,并介绍kubesphere系统
  • etcd存储系统介绍及集群管理
  • Kubernetes原生名称解析服务CoreDNS功能、特性及常用配置

二、Kubernetes实战话题

  • Calico网络插件的eBPF模式及应用,以及在Kubernetes部署使用eBPF模式的网络插件
  • Pod的特性伸缩机制、VPA/HPA的工作机制,以及基于Promteheus的应用自动伸缩案例
  • 公有云SLB结合Ingress实现客户端IP透传
  • eBPF介绍、Cilium网络插件系统组件、工作机制及部署Kubernetes集群使用Cilium网络插件
  • Cilium网络插件的虚拟网络接口、Pod网络模式及通信验证,以及Cilium内置的可观测组件Hubble
  • Cilium内置的Ingress Controller与应用,以及Cilium的高级特性介绍

三、Kubernetes上部署微服务电子商城项目

  • 云原生的概念、服务网格、微服务治理体系介绍
  • 开源微服务电子商城mall-microservice项目架构介绍
  • 部署mall-microservice依赖的各后端服务:MySQL、Nacos、EFK、Redis、MongoDB、RabbitMQ、Minio并它们纳入Promtheus的监控体系
  • 部署Skywalking及相关的UI
  • 部署商城后台组件:mall-gateway、mall-portal、mall-search等
  • 部署商城的商家管理端mall-admin-web,并测试进行测试访问
  • 在Prometheus/Grafana中验证指标采集、在EFK中验证日志采集和检索,在Skywalking中验证请求链路跟踪

阶段二十:分布式消息系统Kafka

一、Kafka及应用案例

  • 单体应用与微服务简介、进化历史、服务注册机发现机制、实现微服务的几个要素
  • 消息分发系统发展历史及对比、消息分发机制
  • Kafka简介及优缺点、Kafka逻辑架构详解
  • Kafka配置详解、基于Zookeeper和Kraft实现Kafka集群部署简介;
  • Kafka命令行及图形客户端使用、验证消息的写入Kafka并从Kafka集群消费
  • Kafka集群成员间关系、复制及物理存储机制
  • Kafka的可靠性保证、复制以及broker配置
  • 管理Kafka-Topic操作、消费者群组、动态配置变更及分区管理
  • 在Kubernetes集群上,基于Strimzi Operator部署面向生产环境的Kafka集群

阶段二十一:列式数据库ClickHouse

一、CilckHouse入门与实践

  • 关系型数据库与非关系型数据库简介、行式数据库与列式数据库简介、ClickHouse使用场景特性及功能介绍
  • ClickHouse服务器选型、安装配置及优化配置、数据导入
  • Clickhouse安装、ClickHouse查询语句简介及常用函数的使用
  • Clickhouse-Client及DBeaver等客户端工具使用、用户管理
  • ClickHouse数据格式简介,JSON、TabSeparated、TSKV、CSV、Parquet、ORC等数据格式
  • ClickHouse存储引擎简介,MergeTree系列引擎简介及Log系列存储引擎简介
  • Clickhouse用户profile、quota配额及多用户管理

二、ClickHouse生态整合

  • ClickHouse与MySQL及Kafka等整合使用;
  • ClickHouse分布式集群部署简介及集群部署,
  • ClickHouse查询语句简介及常用函数的使用;
  • Prometheus基于ClickHouse实现数据的远程读写案例;
  • 基于Prometheus监控ClickHouse并通过Grafana实现监控数据可视化;
  • 将ClickHouse部署并运行于Kubernetes之上,使用基于Ceph rbd的PVC存储数据,并由Prometheus自动完成ClickHouse的监控和告警:

师姐的号(可撩!):Evelyn-lin717

结语:

无人扶我青云志,我自踏雪至山巅。
若是命中无此运,亦可孤身登昆仑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959947.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Unity】 HTFramework框架(五十九)快速开发编辑器工具(Assembly Viewer + ILSpy)

更新日期:2025年1月23日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 开发编辑器工具MouseRayTarget焦点视角Collider线框Assembly Viewer搜索程序集ILSpy反编译程序集搜索GizmosElement类找到Gizmos菜单找到Gizmos窗口分析A…

飞牛NAS新增虚拟机功能,如果使用虚拟机网卡直通安装ikuai软路由(如何解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 飞牛NAS虚拟机安装爱快教程 📒🛠️ 前期准备🌐 网络要求💾 下载爱快镜像🚀 开始安装💻 开启IOMMU直通🌐 配置网络🚨 解决OVS网桥绑定失败以及打开ovs后无法访问飞牛nas等问题➕ 创建虚拟机🎯 安装ikuai💻 进…

嵌入式蓝桥杯电子赛嵌入式(第14届国赛真题)总结

打开systic 生成工程编译查看是否有问题同时打开对应需要的文档 修改名称的要求 5.简单浏览赛题 选择题,跟单片机有关的可以查相关手册 答题顺序 先从显示开始看 1,2 所以先打开PA1的定时器这次选TIM2 从模式、TI2FP2二通道、内部时钟、1通道设为直接2通道设置…

C# volatile 使用详解

总目录 前言 在多线程编程中,确保线程之间的正确同步和可见性是一个关键挑战。C# 提供了多种机制来处理这些挑战,其中之一就是 volatile 关键字。它用于指示编译器和运行时环境不要对特定变量进行某些优化,以保证该变量的读写操作是线程安全…

基于OSAL的嵌入式裸机事件驱动框架——整体架构调度机制

参考B站up主【架构分析】嵌入式祼机事件驱动框架 感谢大佬分享 任务ID : TASK_XXX TASK_XXX 在系统中每个任务的ID是唯一的,范围是 0 to 0xFFFE,0xFFFF保留为SYS_TSK_INIT。 同时任务ID的大小也充当任务调度的优先级,ID越大&#…

理解C++中的右值引用

右值引用,顾名思义,就是对一个右值进行引用,或者说给右值一个别名。右值引用的规则和左值一用一模一样,都是对一个值或者对象起个别名。 1. 右值引用和左值引用一样,在定义的同时必须立即赋值,如果不立即赋…

寒假1.23

题解 web:[极客大挑战 2019]Secret File(文件包含漏洞) 打开链接是一个普通的文字界面 查看一下源代码 发现一个链接,点进去看看 再点一次看看,没什么用 仔细看,有一个问题,当点击./action.ph…

分布式版本控制系统:Git

1 Git概述 Git官网:https://git-scm.com/ Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目Git易于学习,占地面积小,性能极快。它具有廉价的本地库、方便的暂存区域和多个工作流分支等特性…

< OS 有关 > 阿里云:轻量应用服务器 的使用 :轻量化 阿里云 vpm 主机

原因: < OS 有关 > 阿里云:轻量应用服务器 的使用 :从新开始 配置 SSH 主机名 DNS Tailscale 更新OS安装包 最主要是 清除阿里云客户端这个性能杀手-CSDN博客 防止 I/O 祸害系统 操作: 查看进程&#x…

工业相机 SDK 二次开发-Sherlock插件

本文介绍了 sherlock 连接相机时的插件使用。通过本套插件可连接海康的工业相机。 一.环境配置 1. 拷贝动态库 在用户安装 MVS 目录下按照如下路径 Development\ThirdPartyPlatformAdapter 找到目 录为 DalsaSherlock 的文件夹,根据 Sherlock 版本找到…

为什么机器学习中梯度下降是减去斜率,而不是按照其数学意义减去斜率的倒数

做个简单假设,Loss函数的某一个参数的函数曲线是二次方程,其导数函数为 r 2 ∗ w r 2*w r2∗w 按照斜率意义来看,要减去斜率倒数 降低LOSS需要将w1更新为w2,所以更新公式为 w w − Δ L Δ w w w - \frac{\Delta L}{\Delta w…

Linux高级--3.3.2 自定义协议设计--ProtoBuf

一、自定义协议设计的必要性 自定义通信协议通常有以下几个原因,尤其在IM即时通信、节点服务器、HTTP协议、Nginx、Redis协议、SOME/IP协议和DoIP协议等场景中,设计和使用自定义协议能带来特定的优势: 1. 性能优化 更高效的资源利用&#…

技术总结:FPGA基于GTX+RIFFA架构实现多功能SDI视频转PCIE采集卡设计方案

目录 1、前言工程概述免责声明 3、详细设计方案设计框图SDI 输入设备Gv8601a 均衡器GTX 解串与串化SMPTE SD/HD/3G SDI IP核BT1120转RGBFDMA图像缓存RIFFA用户数据控制RIFFA架构详解Xilinx 7 Series Integrated Block for PCI ExpressRIFFA驱动及其安装QT上位机HDMI输出RGB转BT…

docker 部署 java 项目详解

在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署。今天我们以若依项目为例,总结下部署项目的整体流程。简单来说,第一步:安装项目所需的中间件;第二步&#xff1…

动手学图神经网络(2):跆拳道俱乐部案例实战

动手学图神经网络(2):跆拳道俱乐部案例实战 在深度学习领域,图神经网络(GNNs)能将传统深度学习概念推广到不规则的图结构数据,使神经网络能够处理对象及其关系。将基于 PyTorch Geometric 库&a…

Elastic Agent 对 Kafka 的新输出:数据收集和流式传输的无限可能性

作者:来 Elastic Valerio Arvizzigno, Geetha Anne 及 Jeremy Hogan 介绍 Elastic Agent 的新功能:原生输出到 Kafka。借助这一最新功能,Elastic 用户现在可以轻松地将数据路由到 Kafka 集群,从而实现数据流和处理中无与伦比的可扩…

1.25学习

web bugku-源代码 打开环境后看到了一个提交的界面,我们根据题目查看源代码,看到了js代码,其中有几处是url编码,我们对其进行解码,后面的unescape()函数就是将p1解码以及%35%34%61%61%32p2解码…

Hive详细讲解-基础语法快速入门

文章目录 1.DDL数据库相关操作1.1创建数据库1.2指定路径下创建数据库1.3添加额外信息创建with dbproperties1.4查看数据库 结合like模糊查询 2.查看某一个数据库的相关信息2.1.如何查看数据库信息,extended可选2.2修改数据库 3.Hive基本数据类型4.复杂数据类型5.类型…

深度解析:基于Vue 3与Element Plus的学校管理系统技术实现

一、项目架构分析 1.1 技术栈全景 核心框架:Vue 3 TypeScript UI组件库:Element Plus(含图标动态注册) 状态管理:Pinia(用户状态持久化) 路由方案:Vue Router(动态路…

基于Django的个人博客系统的设计与实现

【Django】基于Django的个人博客系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 系统采用Python作为主要开发语言,结合Django框架构建后端逻辑,并运用J…