K3sEP02——解决RiscV开发板镜像无法拉取问题

引子 继上次我们验证K3s在虚拟机上的集群部署,我们这次直接在RiscV开发板上实验部署K3s。 值得注意的是,k3s官方支持的架构里面是没有RiscV的,所以有了我们即将开展的适配工作,同时k3s的底层源码大部分都是由Golang构成,而Golang是适配RiscV的,所以我们针对RiscV的K3s移植工作是有可行性的。 ...

三月 28, 2025 · 6 分钟 · LTX

K3sEP01——模拟Kine集群部署

本篇文章用来记录自己在虚拟机上搭建k3s集群的整个过程,并且使用了kine这个k3s专属的数据存储方法(代替了k8s中的etcd存储方式) 实验环境 本机: macos M2 虚拟机: 采用Multipass这个虚拟机软件,专门为Ubuntu而制作的虚拟化软件,可以很轻松地在macos上使用。 ...

三月 26, 2025 · 3 分钟 · LTX

LT的奇思乱想Ep01

这是第一期的奇思乱想,暂且将这个专栏作为我的博客中非技术分类下的随意输出内容,灵感来源于JJLin的专辑《和自己对话》,所以就让我在这个专栏里面真正地与自己对话,每个周六的下午,带上耳机接一杯温水,开始与自己对话,一场完全脱离AI的自我对话。 ...

三月 15, 2025 · 7 分钟 · LTX

AIThought02_三周过后,我对于AI的使用习惯发生了什么样的变化

前言 距离第一篇关于“戒用”AI的文章已经过去了将近三周了,也该回来好好说说自己关于AI的一些感悟了,当然还会夹杂关于其他事情的感悟。(所以这是一篇纯主观的文章,类似于流水账) ...

十二月 15, 2024 · 4 分钟 · LTX

DebugEP01——Postgresql

前言 欢迎来到我的Debug系列第一集,我目前还没有完全想好这个系列该怎么去组织规划,但是我想记录下来遇到的大大小小的bug以及debug的过程应该于我自己而言是一件蛮有意思的事情。 ...

十二月 7, 2024 · 4 分钟 · LTX

GolangEP02_并发中的Channel

前言 让我们看看关于 chan 有哪些常见的操作。 创建channel ch1 := make(chan int) ch2 := make(chan int, 2) 底层实际上调用的是makechan方法 发送数据到channel ch <- 1 底层实际调用的是chansend1,而chansend1最终也是调用chansend,将block参数设置为true——当前发送操作是阻塞的 从channel中读取数据 i <- ch i, ok <- ch 底层实际调用的是chanrecv1和chanrecv2,最终都去调用了chanrecv。 源码 接下来我们进入源码中一探究竟。 hchan结构体 type hchan struct { qcount uint // total data in the queue dataqsiz uint // size of the circular queue buf unsafe.Pointer // points to an array of dataqsiz elements elemsize uint16 synctest bool // true if created in a synctest bubble closed uint32 timer *timer // timer feeding this chan elemtype *_type // element type sendx uint // send index recvx uint // receive index recvq waitq // list of recv waiters sendq waitq // list of send waiters // lock protects all fields in hchan, as well as several // fields in sudogs blocked on this channel. // // Do not change another G's status while holding this lock // (in particular, do not ready a G), as this can deadlock // with stack shrinking. lock mutex } qcount:通道中存储的数据元素总数 dataqsiz:环形队列大小 buf:执行环形队列的内存缓冲区,存放实际数据——环形缓存区域,本质上是一个带有头尾指针的固定长度的数组 sendx,recvx:发收操作的队列位置 recvq,sendq:等待队列 可以发现,hchan 使用环形队列表示缓冲区并且采用 lock 确保并发访问的安全性。 ...

十二月 5, 2024 · 8 分钟 · LTX

GolangEP01_并发之绕不过的context

引子 今天心血来潮,给自己梳理梳理golang中这个十分重要的东东——context,毕竟也是在面试中考察到,但是反问自己的时候却感觉一点也说不出来什么有价值的东西,所以今天我来一次刨根究底。 ...

十二月 1, 2024 · 10 分钟 · LTX

玩转RISCV开发板02-配置好容器化环境

前言 这里照例列出所用设备配置 macbookair LicheePi4A,16+128 基础配置 如果你看完了上篇文章,那么一定成功连接到了wifi,那么我们就先用ssh从主机的终端连接到开发板(毕竟我只有一个显示器,开发板你不配) ...

十一月 29, 2024 · 7 分钟 · LTX

玩转RISCV开发板01-烧录OpenEuler国产镜像

本次实验环境 宿主机:macbook air M2 LiCheePi开发板,配置为16+128 一根USB-C线 一个拓展坞,键鼠,显示器 烧录镜像为openEuler/embedded_img/riscv64/lpi4a/ 实验步骤 1.下载fastboot 这里使用homebrew快捷安装 ...

十一月 21, 2024 · 6 分钟 · LTX

玩转Docker系列——数据持久化

Docker_Storage 大家好我是LTX,我猜在使用docker时你或多或少都会有疑问,我的数据被存到哪里去了?(什么?你不用docker?,滚出克😡)docker化之后为什么得到的镜像这么小,比我原始的程序要小这么多?特别是如果我将Mysql容器化,那它保存的记录都去哪里了? ...

十一月 18, 2024 · 8 分钟 · LTX
0:00 --:--