Huweicai
Home
(current)
About
Archives
Huweicai
好奇心探索世界
善意假设
做最酷的事情
Hello, World!
~ Enjoy Today ~
Categories
Go (3)
English (1)
Featured Tags
linux (10)
go (6)
容器 (6)
操作系统 (6)
编程语言 (6)
存储 (5)
计算机网络 (5)
cloudnative (4)
kubernetes (4)
cilium (2)
docker (2)
ebpf (2)
ip (2)
java (2)
kernel (2)
命令行 (2)
cpu (1)
en (1)
ethernet (1)
git (1)
harbor (1)
http (1)
innodb (1)
jvm (1)
mysql (1)
pprof (1)
redis (1)
shell (1)
tcp (1)
yuv (1)
办公效率 (1)
图像 (1)
并发 (1)
数据库 (1)
文件系统 (1)
日志 (1)
权限管理 (1)
硬件 (1)
磁盘 (1)
镜像 (1)
音视频 (1)
««
«
1
2
3
4
…
6
»
»»
Kubectl基本概念&常用命令
2021-01-28
6 minutes read
基本概念 容器化 + Kubernetes 逐渐成为云计算领域计算资源编排调度管理的事实标准,而 kubectl 则提供了一种非常直观和强大的观察操控 k8s集群的方式。 kubectl 是 kubernetes自带的 21 个命令行程序中的一个,其本身的逻辑并不复杂,使用 cobra 来解析命令行参数,读取 .kube/config中存储的认证信息经由 k8s restful api 和集群交互。 kubectl 命令基本格式如下: kubectl [子命令] [资源类型] [资源名称] [选项] 和 docker、git这种复杂的命令行程序一......
kubernetes
命令行
cloudnative
如何准确的获取CPU占用率[Linux][Go]
2021-01-01
6 minutes read
如果我们想要获取系统的 CPU 占用率,首先,Go 语言本身是没有帮我们封装这样的 API 的,所以我们只能自己通过其他方式直接向操作系统要,而不同的操作系统“要”的方式都不太一样,我们这里主要基于 Linux 场景来分析。 虽然有现成的 ps 和 top 等工具我们可以读到现成的值,但是这些工具也是基于 proc 文件解析的,对于人眼可读性较友好,但是代码解析时就不那么方便了。 PROCESS 文件系统 在许多 Unix 类系统中,都存在一个 procfs (Process File System) 进程文件系统的概念,用于将内......
操作系统
Go
Linux
CPU
编程语言
VPN是如何工作的
2020-12-22
4 minutes read
VPN 想象一下这两种场景: 你下班家,公司线上一台机器出事故了,这个时候你需要远程到这台机器上来排查并处理问题。 你在其他城市实习,这个时候学校需要选下学期的课了,但是教务网站只对校园网开放。 在这两种场景中,都离不开一种关键的技术:VPN(Virtual Private Network:虚拟局域网)。 VPN提供了一种在公网上安全的加入局域网的方式,可以我们这里就以开源的 OpenConnect VPN 为例,探讨一下 VPN 这种技术是如何安全的将局域网在互......
计算机网络
IP
Minikube安装教程
2020-12-14
3 minutes read
Minikube 是一个迷你版的 k8s,部署极其简单(相较于正常一套完整的k8s系统而言),对于想要学习k8s或者本地开发调试的人而言都是一个非常不错的选择。 注:以下操作均基于 CentOS 7,其他发型版流程大致一样,不过包管理部分会略有差异 安装容器引擎: Docker Kubernetes 是一个容器编排调度系统,但是容器实体还是需要其他系统来创建的,常见的有如:docker、virtual box、kata等,这里我们以最常见的 docker 为例进行安装,如果系统上已......
小米路由器4A百兆版刷OpenWRT
2020-12-08
7 minutes read
我其实不怎么喜欢写这种教程类的博客,不过苦于刷机过程中资料过少,踩坑过多,特此系统性的捋一下,分享给有缘人,我手上的型号是百兆版的,4A千兆版刷OpenWRT的流程也基本一样,不过需要注意镜像地址什么的自行替换一下。 前提:需要安装 git、python3 以及熟悉基本的终端操作。 OpenWRT 首先我们要对 OpenWRT 有一些最基本的概念,OpenWRT 是一种 Linux 发行版,本质上是一个操作系统,和我们的常见的 Windows、And......
操作系统
Linux
硬件
Git实现原理
2020-11-11
6 minutes read
基本概念 概述 Git 是一个基于快照的文件版本管理系统,其实现原理是为每个文件计算一个 hash 值然后压缩存储到 .git/objects 目录内,普通文件为 blob 对象,而文件夹也会生成一个对象:tree,这样一个版本的文件就能被根目录串联起来,这个版本的再上层会有一个 commit 对象,commit 对象会有一到多个 parent 指针,指向上一个提交,这样就把一个个版本串联了起来。 commit 的上层还有一个概念叫分支,分支是一个指向 commit 的指针,相当于是对这一系列 commit 的抽象。 这是一......
git
存储
完整网络请求包自底向上分析
2020-07-01
17 minutes read
我们都知道网络是分层的,国际标准化组织将网络划分了七层,定义于 ISO/IEC 7498-1,也就是我们所熟知的 ISO 七层模型。 自底向上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 而我们所熟知的超文本传输协议(HTTP: HyperText Transfer Protocol)便位于这个模型中的第七层,HTTP 请求包发出的时候会一层一层往下叠加头部知道最终变成最底层的物理信号在网线上传输,那么最终的网络包到底是长什么样呢?我们今......
计算机网络
Ethernet
TCP
HTTP
IP
««
«
1
2
3
4
…
6
»
»»