胡伟煌

个人博客

置顶 kube-controller-manager源码分析(三)之 Informer机制

kube-controller-manager源码分析(三)之 Informer机制 以下代码分析基于 kubernetes v1.12.0 版本。 本文主要分析k8s中各个核心组件经常使用到的Informer机制(即List-Watch)。该部分的代码主要位于client-go这个第三方包中。 此部分的逻辑主要位于/vendor/k8s.io/client-go/tools/cache......

置顶 kubelet源码分析(五)之 syncPod

kubelet源码分析(五)之 syncPod 以下代码分析基于 kubernetes v1.12.0 版本。 本文主要分析kubelet中syncPod的部分。 1. managePodLoop managePodLoop通过读取podUpdateschannel的信息,执行syncPodFn函数,而syncPodFn函数在newPodWorkers的时候赋值了,即kubelet.sy......

Redfish API

本文主要介绍redfish api的调用路径及格式。 Redfish是一种基于HTTPs服务的管理标准,利用RESTful接口实现设备管理。可以理解为redfish api就是通过http的调用方式来操作服务器的bmc设备,从而实现对设备的远程控制。 1. BMC常用功能操作 BIOS 管理 启动设置(boot order) 虚拟媒体管理 电源管理(开机、关机、重启) ......

Mysql服务部署

1. 通过容器的方式部署 123mkdir -p ~/data/mysqldocker run --name my-mysql -v ~/data/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 2. 通过k8s deployment的方式部署 部署的注意事项: mysql数据的持久......

Linux常用命令

创建用户名和密码 123456789101112131415# 通过写文件创建用户,/home/mybot是用户目录echo "mybot:x:1001:1001::/home/mybot:/bin/bash" >> /etc/passwd# 给用户创建密码echo "mybot:{password}" | chpasswd# 指定文件系统根目录创建密码,例如......

基于Ollama构建本地大模型

本文主要介绍如何通过Ollama和OpenWebUI来搭建一个本地私有化运行的大模型工具。私有化大模型的构建主要用于解决数据的安全性问题,对于大部分私有数据不适合通过外部的大模型网站来上传和分析。 1. Ollama 与 OpenWebUI 介绍 1.1. Ollama简介 Ollama 是一个 本地运行的 AI 大模型管理工具,可以让你在本地 快速拉取、管理和运行 各种开源大语言模型(如 ......

格式化磁盘分区

本文主要描述重装操作系统如何格式化跟分区和数据盘以及设置磁盘挂载配置。 1.将操作系统写入根分区设备 1、解绑根分区磁盘目录挂载 12345678# 例如跟分区下的挂载目录如下:cat /proc/mounts | grep ^/dev/sda/dev/sda4 / ext4 rw,relatime,errors=remount-ro 0 0/dev/sda3 /boot ext4 rw,r......

VXLAN原理介绍

1. VXLAN简介 VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,旨在解决传统二层网络扩展的局限性,尤其是在数据中心大规模部署中。它通过隧道技术将二层以太网帧封装在三层UDP包中,实现了跨三层网络的二层网络延展。 1.1. VXLAN的基本概念 目的:解决二层网络扩展的问题,例如VLAN的数量限制(传统VLAN ID 只能支持4096(2的12次方)个)......

Flannel介绍

1. Flannel简介 Flannel 是一个简单的、易于使用的 Kubernetes 网络插件,用于为容器集群提供网络功能。它主要解决的是 Kubernetes 集群中跨节点容器间通信的问题,通过为每个节点分配一个独立的子网,确保容器之间可以使用虚拟网络进行无障碍通信。 1.1. Flannel 的特点与优势 易于配置和使用 提供简单的配置文件,易于集成到 Kubernetes 集群......

Kruise Rollout发布

1. kruise-rollout简介 金丝雀发布是逐步将流量导向新版本的应用,以最小化风险。具体过程包括: 部署新版本的 Pod。 将一部分流量分配到新版本(通常比例很小)。 逐步增加新版本的流量比例,直到完成全量发布。 Kruise Rollouts 是一个 Bypass(旁路) 组件,提供 高级渐进式交付功能 。可以通过Kruise Rollouts插件来实现金丝雀发布的能力。 ......