K8S 大搬家求救 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ccde8259
V2EX    Kubernetes

K8S 大搬家求救

  •  
  •   ccde8259 2022-10-11 23:37:16 +08:00 3350 次点击
    这是一个创建于 1171 天前的主题,其中的信息可能已经有所发展或是发生改变。

    故事背景

    首先是,HomeLab 上起了个 K8S 集群,Master 用了一台 Phicomm N1 ,Worker 用 ESXi 起了两台 8C16G 的 Ubuntu 的 VM 。配合 TrueNAS 提供 NFS 、MySQL 作为 Storage 跑了几个应用。

    灾难开始

    Phicomm N1 装完 Master 的时候感觉这小身板还是能跑得动的。直到我用 Helm 试图装 Prometheus 全家桶的时候,我就知道错了……负载满了,然后炸 swap ,被迫重启。虽然 N1 上有 taint 不会调度应用 Pod ,controller-manager 和 scheduler 半年均重启了 800+次。

    试图拯救

    N1 的表现让我不得不重新整合一下资源。重新收拾了一下 ESXi 的机器,包括将 TrueNAS 拆回物理机部署,以及将原来的两个 Worker delete 掉,直接物理机部署 Ubuntu ,作为 Master 重新加入进集群。去掉新机器上 NoSchedule 的 taint 后,整个集群又可以欢快的跑起来了。

    新的问题

    现在最危险的操作就是如何下掉 Phicomm N1 这个 Master 了。不敢贸然的直接 delete node ,不了解是否会有问题。主要是不了解是否需要重新签发证书,去避免原有的 n1 这个域名不可用带来集群不可用。

    回头思考

    N1 这类羸弱的 4 核 A53+2G 规格显然是吃不消 Kubernetes 这类应用的。是否有比较合适的用途?目前有在考虑准备拿来当 Ceph 的 Mon 节点,凑数做一些 Quorum 工作。或者说如何能在 Kubernetes 上仅跑跑 etcd 之类的?

    11 条回复    2022-10-12 22:56:43 +08:00
    ccde8259
        1
    ccde8259  
    OP
       2022-10-11 23:55:00 +08:00
    能猜到的几个改动点:
    1. configmap 里 kubeadm-config 里有个 controlPlaneEndpoint 需要调整
    2. configmap 里 kube-proxy 里有个 clusters[0].cluster.server 需要调整
    2. /etc/kubernetes/pki 下的 apiserver.crt 、etcd/peer.crt 、etcd/server.crt 三本证书要改
    Ansen
        2
    Ansen  
       2022-10-11 23:59:00 +08:00 via iPhone
    目前有几个 master ? 你可以尝试断掉 n1 的网络,看看集群正常不,
    ccde8259
        3
    ccde8259  
    OP
       2022-10-12 00:34:45 +08:00 via iPhone
    @Ansen
    1. 双 master
    2. N1 炸过重启过一次,N1 失效期间应用 Pod 正常访问,但 kubectl 无法使用,修改.kube/config 到新 master 上无效。
    3.想起来可能是因为 etcd 的 quorum 不可能成功。所以 N1 失效以后,猜测 kubelet 把 pod 全 restart 了一遍……
    i4t
        4
    i4t  
       2022-10-12 01:37:02 +08:00
    你直接在 esxi 上新建一个 master ,我理解这样就可以解决了。 二进制的话比较麻烦,证书要全部修改,如果只是 kubeadm 的方式,直接 kubeadm join master 就可以
    YOOHUU
        5
    YOOHUU  
       2022-10-12 08:47:53 +08:00
    2g 内存敢上 k8s...
    hzfyjgw
        6
    hzfyjgw  
       2022-10-12 09:24:30 +08:00
    N1 换 k3s 集群 试试
    wellsc
        7
    wellsc  
       2022-10-12 09:58:44 +08:00
    Prometheus eat much memory and disk io
    ysicing
        8
    ysicing  
       2022-10-12 16:01:58 +08:00
    @wellsc 新版本改善了不少
    ccde8259
        9
    ccde8259  
    OP
       2022-10-12 21:10:16 +08:00
    作死操作了一下猜想的前两条,把 configmap 里的配置改完以后集群没啥问题。
    观察到另一台 master 里面的 /etc/kubernetes/manifests/etcd.yaml 配置上有点问题:initial-cluster 包含两台 etcd 配置。
    但是另一台 master 里面的 apiserver.crt 、etcd/peer.crt 、etcd/server.crt 三本证书 CN 是对的。
    这让我对于踢掉 n1 这台 master 具有了非常强大的信心。
    baeyer
        10
    baeyer  
       2022-10-12 22:33:47 +08:00 via Android
    master 之前部署用的是域名吗,是的话随便迁
    ccde8259
        11
    ccde8259  
    OP
       2022-10-12 22:56:43 +08:00
    @baeyer 部署的时候直接就用的是 n1 的主机名……最后发现 kubectl delete node 没什么问题,按着 kubelet 的报错修配置文件就完事了……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2529 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 15:14 PVG 23:14 LAX 07:14 JFK 10:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86