Calico 完整掌握 — 容器网络从入门到生产
前言如果把 K8s 集群比作一座城市,Calico 就是这座城市的交通系统——它决定了 Pod 之间怎么通信、哪些路能走、哪些路被封、跨城区(跨节点)走隧道还是走高速。 本文从网络基础开始,逐步深入到 BGP、网络策略、生产排障。每个阶段都有原理图解 + 实战命令。 前置条件:一个 K8s 集群(minikube / kind / k3s 均可),已安装 kubectl。 一、容器网络基础铺垫1.1 K8s 网络的四大”通信需求”一个 K8s 集群里同时存在四种通信场景,每种走的路都不一样: 12345678910111213┌──────────┐ ④外网 ┌──────────┐│ Internet │ ←───────→ │ Ingress │└──────────┘ └────┬─────┘ │┌──────┐ ①Pod间 ┌──────┐│③Service│Pod A │←────────→│Pod B ││ ↓│10.0.1│ │10....
MinIO 完整掌握 — 从零搭建对象存储
前言MinIO 是一款开源的高性能对象存储,完全兼容 AWS S3 API。你可以把它理解为一个轻量级的”自建 S3”——不用绑定云厂商,一个二进制文件就能跑起来,特别适合私有化部署、开发测试环境和边缘场景。 本文从单机部署开始,逐步深入到分布式集群、安全配置、生命周期管理,最后用 Python SDK 编程操作。每个环节前后关联,建议跟着敲。 前置条件:一台 Linux 机器(虚拟机即可),至少有 1GB 空闲磁盘。 一、基础篇:单机部署1.1 二进制安装12345678# 下载 MinIO 二进制wget https://dl.min.io/server/minio/release/linux-amd64/miniochmod +x miniosudo mv minio /usr/local/bin/# 验证minio --version# minio version RELEASE.2026-07-10T... 1.2 启动第一个 MinIO 服务12345# 创建数据目录mkdir -p ~/minio-data# 直接启动(前台运行)minio server ~...
GPU虚拟化 - MIG
前提条件:仅A30、A100、H100支持MIG 硬件切分。 一、硬件切分1. 检查GPU驱动是否已安装成功;1nvidia-smi 2. 开启 MIG 模式 (需要重启 GPU 或节点)1nvidia-smi -mig 1 如图,如果GPU被某些进程占用,则执行会告警,必须找到对应进程结束停止占用。 出现此内容,代表开启成功,因为有两张A100, 输出两次。 关闭命令: 1nvidia-smi -mig 0 3. 查看支持的 Profile ID1nvidia-smi mig -lgip 4. 创建 MIG 实例假设 Profile ID 为 19 12nvidia-smi mig -cgi 19 # 例如创建一个 1g.5gb 实例nvidia-smi mig -cgi 19,19,19,19,19,19,19 -C # 例如创建七个 1g.5gb 实例 5. 确认实例已创建1nvidia-smi mig -lgi 二、安装gpu-device-plugin1. GPU节点打标签1kubectl label node gpu-node01,gpu-node02 ...
Kustomize 完整掌握 — 配置即代码的艺术
前言上一篇文章 我们掌握了 Helm——它解决的是”如何打包和分发应用”。但生产环境中还有一个棘手的问题:同一套应用,在 dev / test / prod 环境里只有细微差异(副本数、镜像 tag、域名),能不能不复制粘贴整份 YAML? Kustomize 就是答案。它从 Kubernetes 1.14 起内置在 kubectl 中,核心思想是 base + overlay:一份基础配置打底,每个环境只声明差异。 对比维度 Helm Kustomize 核心理念 模板 + 值注入 基础配置 + 差异化补丁 工作方式 {{ .Values.xxx }} 占位符 原地 patch 修改 YAML 配置复用 多 values.yaml 覆盖 base/overlay 分层 模板语法 Go Template(需学习) 纯 YAML(零学习语法) 原生集成 第三方工具 kubectl apply -k 内置 最佳场景 对外分发的通用包 内部多环境配置管理 简单粗暴的区分:对外分发...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
Helm 完整掌握 — 从零到生产
前言Helm 是 Kubernetes 的包管理器,就像 apt/yum 之于 Linux、npm 之于 Node.js。它把一组 K8s 资源打包成一个 Chart,让部署、升级、回滚变得简单可控。 本文从零开始,通过一系列前后关联的实操任务,带你循序渐进掌握 Helm 的核心用法。建议打开终端跟着敲。 前置条件:一个可用的 Kubernetes 集群(minikube / kind / k3s 均可),已安装 kubectl。 一、基础篇:认识 Helm1.1 安装 Helm12345678# macOSbrew install helm# Linuxcurl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash# Windows (choco)choco install kubernetes-helm 验证安装: 12helm version# version.BuildInfo{Version:"v3.17+"...
Hexo 博客搭建教程
前言Hexo 是一款基于 Node.js 的快速、简洁且高效的静态博客框架。它支持 Markdown 解析,一键生成静态站点,并且可以轻松部署到 GitHub Pages 等平台。本文将详细介绍如何从零开始搭建一个 Hexo 博客。 一、环境准备1.1 安装 Node.jsHexo 依赖于 Node.js,首先需要安装它。 前往 Node.js 官网 下载 LTS(长期支持)版本并安装。安装完成后,打开终端验证: 12node -vnpm -v 如果看到版本号输出,说明安装成功。 1.2 安装 GitGit 用于版本管理和部署(比如部署到 GitHub Pages)。 前往 Git 官网 下载并安装。安装完成后验证: 1git --version 二、安装 Hexo使用 npm 全局安装 Hexo 命令行工具: 1npm install -g hexo-cli 安装完成后验证: 1hexo version 三、初始化博客3.1 创建博客目录123hexo init my-blogcd my-blognpm install 3.2 目录结构初始化完成后,会生成以下目...