小陈运维
type: channel
link: https://www.oiox.cn/
description: 小陈运维，致力于Kubernetes（k8s）与传统运维技术博客文档分享。互相学习，互相进步。
items: Kubernetes核心-Ingress-metallb
items: 二进制安装Kubernetes（k8s）v1.34.0
items: 批量配置主机IP地址
items: K8s 1.33 原地扩缩容特性
items: 二进制安装Kubernetes（k8s）v1.33.0
items: 搭建Zookeeper、Kafka集群
items: 使用kubeadm部署高可用IPV4/IPV6集群---V1.32
items: 使用Ollama部署deepseek大模型
items: Grafana Prometheus Altermanager 监控系统
items: 二进制安装Kubernetes（k8s）v1.32.0

Kubernetes核心-Ingress-metallb
type: item
date: 2025-08-31T13:41:24+08:00
description: Kubernetes核心-Ingress-metallb使用一种能感知协议配置的机制来解析 URI、主机名称、路径等 Web 概念， 让你的 HTTP（或 HTTPS）网络服务可被访问。 Ingress 概念允许你通过 Kubernetes API 定义的规则将流量映射到不同后端。部署metallbMetalLB 是Kubernetes 的一个裸机环境下的负载均衡器，它为LoadBalancer 类型的Service 提供IP 地址分配和对外流量广播，从而使裸机Kubernetes 集群也能像云环境一样通过外部IP 访问内部服务下载部署# 我可以连接国际网络，就直接部署了 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.15.2/config/manifests/metallb-native.yaml # 网络不通畅可以使用手动修改镜像地址 # 下载yaml配置 wget https://raw.githubusercontent.com/metallb/metallb/v0.15.2/config/manifests/metallb-native.yaml # 修改镜像地址 # 自行找代理 sed -i "s#quay.io#quay.chenby.cn#g" metallb-native.yaml cat metallb-native.yaml | grep image image: quay.chenby.cn/metallb/controller:v0.14.5 image: quay.chenby.cn/metallb/speaker:v0.14.5 # 执行部署 kubectl apply -f metallb-native.yaml查看运行情况root@k8s-master01:~# kubectl -n metallb-system get all NAME READY STATUS RESTARTS AGE pod/controller-6599cd9c46-rr54w 1/1 Running 0 78s pod/speaker-55j5t 1/1 Running 0 78s pod/speaker-bcr4j 1/1 Running 0 78s pod/speaker-p7vgz 1/1 Running 0 78s pod/speaker-pzvkd 1/1 Running 0 78s pod/speaker-vcjvr 1/1 Running 0 78s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/metallb-webhook-service ClusterIP 10.106.20.159 <none> 443/TCP 78s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/speaker 5 5 5 5 5 kubernetes.io/os=linux 78s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/controller 1/1 1 1 78s NAME DESIRED CURRENT READY AGE replicaset.apps/controller-6599cd9c46 1 1 1 78s 配置VIP的资源池# 新版本metallb使用了CR（Custom Resources），这里我们通过IPAddressPool的CR，进行地址池的定义。 # 如果实例中不设置IPAddressPool选择器L2Advertisement；那么L2Advertisement默认为该实例所有的IPAddressPool相关联。 cat > metallb-config-ipaddresspool.yaml << EOF apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: first-pool namespace: metallb-system spec: addresses: - 192.168.1.71-192.168.1.75 EOF # 进行L2关联地址池的绑定。 cat > metallb-config-L2Advertisement.yaml << EOF apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name:…

二进制安装Kubernetes（k8s）v1.34.0
type: item
date: 2025-08-31T13:37:35+08:00
description: 二进制安装Kubernetes（k8s）v1.34.0介绍https://github.com/cby-chen/Kubernetes 开源不易，帮忙点个star，谢谢了kubernetes（k8s）二进制高可用安装部署，支持IPv4+IPv6双栈。强烈建议在Github上查看文档 ！！！Github出问题会更新文档，并且后续尽可能第一时间更新新版本文档 ！！！手动项目地址：https://github.com/cby-chen/Kubernetes1.环境主机名称IP地址说明软件 192.168.1.60外网节点下载各种所需安装包Master01192.168.1.31master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster02192.168.1.32master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster03192.168.1.33master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxNode01192.168.1.34node节点kubelet、kube-proxy、nfs-client、nginxNode02192.168.1.35node节点kubelet、kube-proxy、nfs-client、nginx 192.168.1.36VIP 详细版本| 软件 | 版本 || --- | ---| | cni_plugins_version | v1.7.1 || cri_containerd_cni_version | 2.1.4 || crictl_version | v1.34.0 || cri_dockerd_version | 0.3.20 || etcd_version | v3.6.4 || cfssl_version | 1.6.5 || kubernetes_server_version | 1.34.0 || docker_version | 28.3.3 || runc_version | 1.3.0 || kernel_version | 6.16.4 || helm_version | 3.18.6 || nginx_version | 1.29.1 |网段 IPv4 物理主机：192.168.1.0/24 service：10.96.0.0/12 pod：172.16.0.0/12 IPv6 物理主机：2408:822a:732:5ce1::1001/64 物理主机：fc00::31/8 service：fd00:1111::/112 pod：fc00:2222::/112安装包已经整理好：https://github.com/cby-chen/Kubernetes/releases/download/v1.34.0/kubernetes-v1.34.0.tar1.1.k8s基础系统环境配置1.2.配置IP# 注意！ # 若虚拟机是进行克隆的那么网卡的UUID和MachineID会重复 # 需要重新生成新的UUIDUUID和MachineID # UUID和MachineID重复无法DHCP获取到IPV6地址 ssh root@192.168.1.195 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.196 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.197 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.198 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.199 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" # # 查看…

批量配置主机IP地址
type: item
date: 2025-08-22T22:25:08+08:00
description: 批量配置主机IP地址背景我在经常装一些主机，主机都是虚拟机克隆出来的，网卡的uuid不会变，自动获取IPv6地址会出现问题，每次都需手动配置，比较麻烦。所以编写了一个自动配置地址的脚本。我的IPv6是需要通过DHCPv6自动下发公网地址，但是我又需要一个简短的内网IPv6地址，所以我的脚本中，只配置了一个内网的地址。这个地址没有配置网关。免密第一步先将所有的主机配置免密登录yum install -y sshpass ssh-keygen -f /root/.ssh/id_rsa -P '' export IP="192.168.1.192 192.168.1.194 192.168.1.196 192.168.1.198 192.168.1.200" export SSHPASS=123123 for HOST in $IP;do sshpass -e ssh-copy-id -o StrictHostKeyChecking=no $HOST done修改ip脚本修改你的环境的ip地址，以及网络配置参数，#!/bin/bash # 服务器批量配置脚本 # 功能：网络配置、UUID重置、machine-id重置、IP地址设置 # 作者：陈步云 # 日期：2025-08-22 # 日志文件配置 LOG_FILE="server_config_$(date +%Y%m%d%H%M%S).log" exec 3>&1 4>&2 trap 'exec 2>&4 1>&3' EXIT exec 1>"$LOG_FILE" 2>&1 # 服务器映射配置（旧IP->新IP） declare -A IP_MAPPING=( ["192.168.1.192"]="192.168.1.31" ["192.168.1.194"]="192.168.1.32" ["192.168.1.196"]="192.168.1.33" ["192.168.1.198"]="192.168.1.34" ["192.168.1.200"]="192.168.1.35" ) # 网络参数配置 GATEWAY="192.168.1.1" DNS="223.5.5.5" NETMASK_IPV4="/24" NETMASK_IPV6="/8" INTERFACE="ens160" # 待替换的UUID # 使用命令查看UUID # nmcli con show uuid="d1141403-18c6-3149-907c-ed5f09663a7f" # 执行SSH命令函数 execute_ssh() { local ip=$1 shift local commands=("$@") echo -e "\n[$(date '+%Y-%m-%d %H:%M:%S')] 在 $ip 执行命令:" echo " ${commands[*]}" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=3 -o ServerAliveInterval=3 -o ServerAliveCountMax=1 root@"$ip" "${commands[*]}" if [ $? -eq 0 ]; then echo "命令执行成功" return 0 else echo "命令执行失败" return 1 fi } # 阶段1：网络连接重置 reset_network_connections() { for old_ip in "${!IP_MAPPING[@]}"; do commands=( "nmcli con delete uuid $uuid;nmcli con add type ethernet ifname $INTERFACE con-name $INTERFACE;nmcli con up $INTERFACE" ) execute_ssh "$old_ip" "${commands[@]}" done } # 阶段2：IPv4配置 configure_ipv4() { for old_ip in "${!IP_MAPPING[@]}"; do local new_ip="${IP_MAPPING[$old_ip]}" commands=( "nmcli con mod $INTERFACE ipv4.addresses ${new_ip}${NETMASK_IPV4};nmcli con mod $INTERFACE ipv4.gateway $GATEWAY;nmcli con mod $INTERFACE ipv4.method manual;nmcli con mod $INTERFACE ipv4.dns \"$DN…

K8s 1.33 原地扩缩容特性
type: item
date: 2025-06-06T20:35:54+08:00
description: K8s 1.33 原地扩缩容特性背景在创建好的pod容器中，进行了资源限制，在之前的版本中，修改资源配置是需要重启pod才可生效，在1.33版本的kubernetes可以直接调整正在运行的 Pod 的 CPU 和内存配置，而无需重启pod容器。需要注意的是，此功能目前为bate版本，并且在集群中默认开启。我们可以直接使用该新特性。操作演示创建一个资源监控 Pod[root@k8s-master01 ~]# vim resize.yaml [root@k8s-master01 ~]# cat resize.yaml apiVersion: v1 kind: Pod metadata: name: resize-demo spec: containers: - name: resource-watcher image: ubuntu:22.04 command: - "/bin/bash" - "-c" - | apt-get update && apt-get install -y procps bc echo "=== Pod Started: $(date) ===" # Functions to read container resource limits get_cpu_limit() { if [ -f /sys/fs/cgroup/cpu.max ]; then # cgroup v2 local cpu_data=$(cat /sys/fs/cgroup/cpu.max) local quota=$(echo $cpu_data | awk '{print $1}') local period=$(echo $cpu_data | awk '{print $2}') if [ "$quota" = "max" ]; then echo "unlimited" else echo "$(echo "scale=3; $quota / $period" | bc) cores" fi else # cgroup v1 local quota=$(cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us) local period=$(cat /sys/fs/cgroup/cpu/cpu.cfs_period_us) if [ "$quota" = "-1" ]; then echo "unlimited" else echo "$(echo "scale=3; $quota / $period" | bc) cores" fi fi } get_memory_limit() { if [ -f /sys/fs/cgroup/memory.max ]; then # cgroup v2 local mem=$(cat /sys/fs/cgroup/memory.max) if [ "$mem" = "max" ]; then echo "unlimited" else echo "$((mem / 1048576)) MiB" fi else # cgroup v1 local mem=$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes) echo "$((mem / 1048576)) MiB" fi } # Print resource info every 5 seconds while true; do echo "---------- Resource Check: $(date) ----------" echo "CPU limit: $(get_cpu_limit)" echo "Memory limit: $(get_memory_limit)" echo "Available memory: $(free -h | grep Mem | awk '{print $7}')" sleep 5 done resizePolicy: - resourceName: cpu restartPolicy: NotRequired - resourceName: memory restartPolicy: NotRequired resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "128Mi" cpu: "100m" [root@k8s-master01 ~]# [root@k8s-master01 ~]# kubectl apply -f resize.yaml pod/resize-demo created [root@k8s-master01 ~]# 查看 P…

二进制安装Kubernetes（k8s）v1.33.0
type: item
date: 2025-06-06T20:20:00+08:00
description: 二进制安装Kubernetes（k8s）v1.33.0介绍https://github.com/cby-chen/Kubernetes 开源不易，帮忙点个star，谢谢了kubernetes（k8s）二进制高可用安装部署，支持IPv4+IPv6双栈。强烈建议在Github上查看文档 ！！！Github出问题会更新文档，并且后续尽可能第一时间更新新版本文档 ！！！手动项目地址：https://github.com/cby-chen/Kubernetes1.环境主机名称IP地址说明软件 192.168.1.60外网节点下载各种所需安装包Master01192.168.1.31master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster02192.168.1.32master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster03192.168.1.33master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxNode01192.168.1.34node节点kubelet、kube-proxy、nfs-client、nginxNode02192.168.1.35node节点kubelet、kube-proxy、nfs-client、nginx 192.168.1.36VIP 详细版本| 软件 | 版本 || --- | ---| | cni_plugins_version | v1.6.1 || cri_containerd_cni_version | 2.0.1 || crictl_version | v1.33.0 || cri_dockerd_version | 0.3.16 || etcd_version | v3.5.17 || cfssl_version | 1.6.5 || kubernetes_server_version | 1.32.0 || docker_version | 27.4.0 || runc_version | 1.2.3 || kernel_version | 5.4.278 || helm_version | 3.16.3 || nginx_version | 1.27.3 |网段 IPv4 物理主机：192.168.1.0/24 service：10.96.0.0/12 pod：172.16.0.0/12 IPv6 物理主机：2408:822a:732:5ce1::1001/64 物理主机：fc00::31/8 service：fd00:1111::/112 pod：fc00:2222::/112安装包已经整理好：https://mirrors.chenby.cn/https://github.com/cby-chen/Kubernetes/releases/download/v1.33.0/kubernetes-v1.33.0.tar1.1.k8s基础系统环境配置1.2.配置IP# 注意！ # 若虚拟机是进行克隆的那么网卡的UUID和MachineID会重复 # 需要重新生成新的UUIDUUID和MachineID # UUID和MachineID重复无法DHCP获取到IPV6地址 ssh root@192.168.1.195 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.196 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.197 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.198 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.199 "rm -rf /etc/machine-id; systemd-mac…

搭建Zookeeper、Kafka集群
type: item
date: 2025-04-12T15:42:56+08:00
description: 搭建Zookeeper、Kafka集群Zookeeper、Kafka集群系统环境配置配置IPssh root@192.168.1.190 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.192 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.194 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.190 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.192 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.194 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.190 "nmcli con mod ens160 ipv4.addresses 192.168.1.61/24; nmcli con mod ens160 ipv4.gateway 192.168.1.1; nmcli con mod ens160 ipv4.method manual; nmcli con mod ens160 ipv4.dns "8.8.8.8"; nmcli con up ens160" ssh root@192.168.1.192 "nmcli con mod ens160 ipv4.addresses 192.168.1.62/24; nmcli con mod ens160 ipv4.gateway 192.168.1.1; nmcli con mod ens160 ipv4.method manual; nmcli con mod ens160 ipv4.dns "8.8.8.8"; nmcli con up ens160" ssh root@192.168.1.194 "nmcli con mod ens160 ipv4.addresses 192.168.1.63/24; nmcli con mod ens160 ipv4.gateway 192.168.1.1; nmcli con mod ens160 ipv4.method manual; nmcli con mod ens160 ipv4.dns "8.8.8.8"; nmcli con up ens160" ssh root@192.168.1.61 "nmcli con mod ens160 ipv6.addresses fc00::61/8; nmcli con up ens160" ssh root@192.168.1.62 "nmcli con mod ens160 ipv6.addresses fc00::62/8; nmcli con up ens160" ssh root@192.168.1.63 "nmcli con mod ens160 ipv6.addresses fc00::63/8; nmcli con up ens160" [root@localhost ~]# cat /etc/NetworkManager/system-connections/ens160.nmconnection [connection] id=ens160 uuid=94c63fdf-cd5a-427c-9846-5a447de2a4f5 type=ethernet interface-name=ens160 timestamp=1744436596 [ethernet] [ipv4] address1=192.168.1.61/24,192.168.1.1 dns=192.…

使用kubeadm部署高可用IPV4/IPV6集群---V1.32
type: item
date: 2025-03-23T17:15:05+08:00
description: 使用kubeadm部署高可用IPV4/IPV6集群https://github.com/cby-chen/Kubernetes 开源不易，帮忙点个star，谢谢了k8s基础系统环境配置配置IP# 注意！ # 若虚拟机是进行克隆的那么网卡的UUID和MachineID会重复 # 需要重新生成新的UUIDUUID和MachineID # UUID和MachineID重复无法DHCP获取到IPV6地址 ssh root@192.168.1.189 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.190 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.191 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.192 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.193 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" # # 查看当前的网卡列表和 UUID： # nmcli con show # 删除要更改 UUID 的网络连接： # nmcli con delete uuid <原 UUID> # 重新生成 UUID： # nmcli con add type ethernet ifname <接口名称> con-name <新名称> # 重新启用网络连接： # nmcli con up <新名称> # 更改网卡的UUID # 先配置静态IP之后使用ssh方式配置不断连 ssh root@192.168.1.189 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.190 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.191 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.192 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" ssh root@192.168.1.193 "nmcli con delete uuid d1141403-18c6-3149-907c-ed5f09663a7f;nmcli con add type ethernet ifname ens160 con-name ens160;nmcli con up ens160" # 参数解释 # # ssh ssh root@192.168.1.21 # 使用SSH登录到IP为192.168.1.21的主机，使用root用户身份。 # # nmcli con delete uuid 708a1497-2192-43a5-9f03-2ab936fb3c44 # 删除 UUID 为 708a1497-2192-43a5-9f03-2ab936fb3c44 的网络连接，这是 NetworkManager 中一种特定网络配置的唯一标识符。 # # nmcli con add type ethernet ifname ens160 con-name ens160 # 添加一种以太网连接类型，并指定接口名为 ens160，连接名称也为 ens160。 # # nmcli con up…

使用Ollama部署deepseek大模型
type: item
date: 2025-01-26T18:07:58+08:00
description: 使用Ollama部署deepseek大模型前置条件使用英伟达显卡下载cuda驱动 https://developer.nvidia.com/cuda-downloadsOllamaOllama 官方版: https://ollama.com/我的显卡在Windows电脑上面 所以使用Windows的安装方式去安装若你的显卡是在Linux上面 可以使用如下命令安装curl -fsSL https://ollama.com/install.sh | sh当然Ollama不只是可以启动deepseek模型，也可以启动他的模型https://ollama.com/search# 模型的安装命令 # 1.5B Qwen DeepSeek R1 # 所需空间大约 1.1G ollama run deepseek-r1:1.5b # 7B Qwen DeepSeek R1 # 所需空间大约 4.7G ollama run deepseek-r1:7b # 8B Llama DeepSeek R1 # 所需空间大约 4.9G ollama run deepseek-r1:8b # 14B Qwen DeepSeek R1 # 所需空间大约 9G ollama run deepseek-r1:14b # 32B Qwen DeepSeek R1 # 所需空间大约 20G ollama run deepseek-r1:32b # 70B Llama DeepSeek R1 # 所需空间大约 43G ollama run deepseek-r1:70b # 671B Llama DeepSeek R1 # 所需空间大约 404G ollama run deepseek-r1:671b # Windows的环境变量监听 # OLLAMA_HOST 0.0.0.0 # 启动命令 ollama serveOpen WebUI官方安装文档：https://docs.openwebui.com/Open WebUI官网文档翻译：注意：使用Docker安装Open WebUI时，请确保在Docker命令中包含-v open-webui:/app/backend/data这一步至关重要，因为它确保您的数据库正确挂载，避免任何数据丢失。安装默认配置1.如果您的计算机上安装了Ollama，可以使用以下命令：docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main2.如果Ollama在另一台服务器上，请使用以下命令：连接到另一台服务器上的Ollama时，请将OLLAMA_BASE_URL更改为服务器的URL：docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main要使用Nvidia GPU支持运行Open WebUI，请使用以下命令：docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda3.仅用于OpenAI API使用的安装如果您仅使用OpenAI API，请使用以下命令：docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 4.带有捆绑Ollama支持的Open WebUI安装此安装方法使用一个单独的容器映像，将Open WebUI与Ollama捆绑在一起，通过单个命令实现简化设置。根据您的硬件设置选择适当的命令：使用GPU支持：通过运行以下命令利用GPU资源docker run -d -p 3000:8080 --gpus=all…

Grafana Prometheus Altermanager 监控系统
type: item
date: 2024-12-25T21:13:00+08:00
description: Grafana Prometheus Altermanager 监控系统基本概念Prometheus 是一套开源的系统监控、报警、时间序列数据库的组合，最初有 SoundCloud 开发的，后来随着越来越多公司使用，于是便独立成开源项目。Alertmanager 主要用于接收 Prometheus 发送的告警信息，它支持丰富的告警通知渠道，例如邮件、微信、钉钉、Slack 等常用沟通工具，而且很容易做到告警信息进行去重，降噪，分组等，是一款很好用的告警通知系统。安装Grafana服务下载地址 https://grafana.com/grafana/download[root@jk ~]# sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.4.0-1.x86_64.rpm [root@jk ~]# systemctl enable --now grafana-server.service Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service. [root@jk ~]# [root@jk ~]# systemctl status grafana-server.service安装Prometheus服务下载地址 https://github.com/prometheus/prometheus/releases/tag/wget https://mirrors.chenby.cn/https://github.com/prometheus/prometheus/releases/download/v3.0.1/prometheus-3.0.1.linux-amd64.tar.gz [root@jk ~]# tar xvf prometheus-3.0.1.linux-amd64.tar.gz [root@jk ~]# mv prometheus-3.0.1.linux-amd64 /prometheus [root@jk ~]# 进行全局配置[root@jk ~]# vim /prometheus/prometheus.yml [root@jk ~]# cat /prometheus/prometheus.yml # Prometheus全局配置项 global: scrape_interval: 15s # 设定抓取数据的周期，默认为1min evaluation_interval: 15s # 设定更新rules文件的周期，默认为1min scrape_timeout: 15s # 设定抓取数据的超时时间，默认为10s external_labels: # 额外的属性，会添加到拉取得数据并存到数据库中 monitor: 'codelab_monitor' # Alertmanager配置 alerting: alertmanagers: - static_configs: - targets: ["127.0.0.1:9093"] # 设定alertmanager和prometheus交互的接口，即alertmanager监听的ip地址和端口 # rule配置，首次读取默认加载，之后根据evaluation_interval设定的周期加载 rule_files: - "dist/*.yml" # scape配置 scrape_configs: - job_name: 'prometheus' # job_name默认写入timeseries的labels中，可以用于查询使用 scrape_interval: 15s # 抓取周期，默认采用global配置 static_configs: # 静态配置 - targets: ['127.0.0.1:9090'] # prometheus所要抓取数据的地址，即instance实例项 - job_name: 'web' scrape_interval: 15s static_configs: - targets: ['192.168.1.130:9200'] - job_name: 'node-exporter' scrape_interval: 15s file_sd_configs: - files: - "static_conf/*.yaml" refresh_interval: 1s - job_name: server1_db static_configs…

二进制安装Kubernetes（k8s）v1.32.0
type: item
date: 2024-12-15T19:33:00+08:00
description: 二进制安装Kubernetes（k8s）v1.32.0介绍https://github.com/cby-chen/Kubernetes 开源不易，帮忙点个star，谢谢了kubernetes（k8s）二进制高可用安装部署，支持IPv4+IPv6双栈。强烈建议在Github上查看文档 ！！！Github出问题会更新文档，并且后续尽可能第一时间更新新版本文档 ！！！手动项目地址：https://github.com/cby-chen/Kubernetes1.环境主机名称IP地址说明软件 192.168.1.60外网节点下载各种所需安装包Master01192.168.1.31master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster02192.168.1.32master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxMaster03192.168.1.33master节点kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubelet、kube-proxy、nfs-client、haproxy、keepalived、nginxNode01192.168.1.34node节点kubelet、kube-proxy、nfs-client、nginxNode02192.168.1.35node节点kubelet、kube-proxy、nfs-client、nginx 192.168.1.36VIP 详细版本| 软件 | 版本 || --- | ---| | cni_plugins_version | v1.6.1 || cri_containerd_cni_version | 2.0.1 || crictl_version | v1.32.0 || cri_dockerd_version | 0.3.16 || etcd_version | v3.5.17 || cfssl_version | 1.6.5 || kubernetes_server_version | 1.32.0 || docker_version | 27.4.0 || runc_version | 1.2.3 || kernel_version | 5.4.278 || helm_version | 3.16.3 || nginx_version | 1.27.3 |网段 IPv4 物理主机：192.168.1.0/24 service：10.96.0.0/12 pod：172.16.0.0/12 IPv6 物理主机：2408:822a:732:5ce1::1001/64 物理主机：fc00::31/8 service：fd00:1111::/112 pod：fc00:2222::/112安装包已经整理好：https://mirrors.chenby.cn/https://github.com/cby-chen/Kubernetes/releases/download/v1.32.0/kubernetes-v1.32.0.tar1.1.k8s基础系统环境配置1.2.配置IP# 注意！ # 若虚拟机是进行克隆的那么网卡的UUID和MachineID会重复 # 需要重新生成新的UUIDUUID和MachineID # UUID和MachineID重复无法DHCP获取到IPV6地址 ssh root@192.168.1.153 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.158 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.159 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.160 "rm -rf /etc/machine-id; systemd-machine-id-setup;reboot" ssh root@192.168.1.161 "rm -rf /etc/machine-id; systemd-mac…