event etcd 集群运行在了 tmpfs 文件系统之上

1. 预留节点并安装 etcd(systemd 版)

选 1~3 台 master 节点(已有 etcd 集群之外),安装 etcd:
bash
复制
# 以 Ubuntu 为例
apt update && apt install -y etcd
 

2. 创建 tmpfs 挂载点

bash
复制
mkdir -p /var/lib/etcd-events
# 内存 2 GiB 足够,上限可再调
mount -t tmpfs -o size=2G,nr_inodes=1M,mode=700 tmpfs /var/lib/etcd-events
# 开机自动挂载
echo "tmpfs /var/lib/etcd-events tmpfs size=2G,nr_inodes=1M,mode=700 0 0" >> /etc/fstab
 

3. 生成 etcd-events systemd 单元

/etc/systemd/system/etcd-events.service
ini
复制
[Unit]
Description=etcd-events on tmpfs
After=network.target

[Service]
Type=notify
ExecStart=/usr/bin/etcd \
  --name etcd-events-0 \
  --data-dir /var/lib/etcd-events \
  --wal-dir /var/lib/etcd-events \
  --listen-client-urls https://0.0.0.0:2399 \
  --advertise-client-urls https://$(hostname -i):2399 \
  --listen-peer-urls https://0.0.0.0:2398 \
  --initial-advertise-peer-urls https://$(hostname -i):2398 \
  --initial-cluster etcd-events-0=https://<node0-ip>:2398[,etcd-events-1=...,etcd-events-2=...] \
  --initial-cluster-token etcd-events-cluster \
  --initial-cluster-state new \
  --cert-file=/etc/kubernetes/pki/etcd/server.crt \
  --key-file=/etc/kubernetes/pki/etcd/server.key \
  --trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt \
  --client-cert-auth \
  --peer-cert-file=/etc/kubernetes/pki/etcd/peer.crt \
  --peer-key-file=/etc/kubernetes/pki/etcd/peer.key \
  --peer-trusted-ca-file=/etc/kubernetes/pki/etcd/ca.crt \
  --peer-client-cert-auth \
  --snapshot-count 5000 \
  --heartbeat-interval 100 \
  --election-timeout 1000
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
 
证书直接复用现有 k8s etcd PKI 即可。
端口故意换成 2399/2398,避免和默认 etcd 2379/2380 冲突。
启动并设为开机自启:
bash
复制
systemctl daemon-reload
systemctl enable --now etcd-events
 

4. 让 kube-apiserver 把 Event 单独指过去

编辑 /etc/kubernetes/manifests/kube-apiserver.yaml,在原有 --etcd-servers= 不变的前提下,新增一行:
yaml
复制
- --etcd-servers-overrides=/events#https://<node0-ip>:2399,https://<node1-ip>:2399,https://<node2-ip>:2399
posted @ 2025-11-26 17:08  滴滴滴  阅读(4)  评论(0)    收藏  举报