概述 淘宝开发的ngx_lua模块通过将lua解释器解释器集成Nginx,可以采用lua脚本实现业务逻辑,由于lua的紧凑、快速以及内建协程,所以在保证高并发服务能力的同时极大降低了业务逻辑实现成本。 安装方式1(已弃用) lua-nginx-module LuaJIT是采用C语言编写的Lua代表的解释器。 官网: http://luajit.org 在官网找到对应下载地址: https://github.com/LuaJIT/LuaJIT/tags 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [root
阅读全文 »

复现 task-nodejs.yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 apiVersion: tekton.dev/v1beta1 kind: Task metadata: name: build-node-project spec: workspaces: - name: cache mountPath: /root/.npm - name: source - name: output params: - name: img
阅读全文 »

Lua 概念 Lua是一种轻量、小巧的脚本语言,用标准的C语言编写并以源代码形式开发。设计目的是为了嵌入其他的程序中,从而为应用程序提供灵活的扩展和定制功能。 特性 和他语言相比,Lua有其自身的特点: (1)轻量级 1 lua用标准C语言编写并以源代码形式开发,编译后仅仅一百余千字节,可以很方便的嵌入道其他程序中。 (2)可扩展 1 lua提供非常丰富易于使用的扩展接口和机制,由宿主语言(通常是C或C++)提供功能,lua可以使用它们,就像内置的功能一样。 (3)支持面向过程编程和函数式编程 应用场景 游戏开发、独立应用脚本、web应用脚本、扩展和数据库插件、系统安全
阅读全文 »

使用环境 1 2 3 "Node":"21.6.2" "@vue/cli-service": "~5.0.0", "electron": "^13.0.0", 问题一 报错 1 2 3 4 5 6 7 8 9 10 background.js from Terser Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:68:19) at Object.createHash (node:crypto:138:10)
阅读全文 »

引入问题 我的K8s环境是宿主机的hyper-v虚拟出来的,如果要映射到外面则还需要再我的宿主机上面再做一层反代,我采用的是nginx,当ingress整好之后,我从我从我腾讯云上复制了一段nginx配置放到了我的宿主机,主要配置如下: 1 2 3 4 5 6 7 location /test/ { proxy_pass http://kubernetes.boychai.xyz/test/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;
阅读全文 »

概述 fdisk是一种用于管理磁盘分区的工具,常用于Linux和其他Unix-like操作系统中。它可以用于创建、删除和修改磁盘分区,并支持多种文件系统类型,例如FAT、ext2、ext3等。 fdisk还可以显示当前系统中所有磁盘的分区信息,包括磁盘标识符、分区类型、分区大小等。使用fdisk,用户可以轻松地管理磁盘空间,为不同的操作系统或应用程序分配不同的存储空间。 除此之外,fdisk还支持MBR(Master Boot Record)分区方案,它是一种常见的磁盘分区方案,能够在BIOS引导下启动操作系统。 MBR MBR(Master Boot Record)分区是指使用MBR分
阅读全文 »

原理分析 先说一下原理,连接上校园网设备之后只要不进行认证,大部分的流量只要是经过校园网设备都会拦截之后给客户端重定向到一个认证页面(本文封面),让其进行认证。不进行认证的小部分流量比如说是dhcp、dns都不会进行拦截重定向,dhcp要进行分配ip,刚连接的设备需要通过这个dhcp才可以拿到自己的ip地址,dns是域名解析服务也不会拦截。他们的端口分别是DHCP(UDP/67服务端、UDP/68客户端)、DNS(UDP/53),目前只发现了这两个服务的端口是不被拦截的。我们可以通过这些端口来绕过流量的拦截。例如使用虚拟专用网络、虚拟隧道等技术来实现绕过拦截。 干!!! 软件介绍 本文服务端
阅读全文 »

数据存储概述 容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容器不与Pod中单个容器的生命周期相关,当容器终止或者重启时,Volume中的数据也不会丢失。 数据存储类型 * 简单存储:Em
阅读全文 »

Service概述 在kubernetes中,pod是应用程序的载体,可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。 Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行着一个kube-proxy服务进程。当创建Service的时候会通过api-ser
阅读全文 »

Pod控制器概述 引入 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: * 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建 * 控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建 控制器 Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。
阅读全文 »