k8s 的 kube-apiserver 异常退出,怎么排查 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
proxytoworld
V2EX    Kubernetes

k8s 的 kube-apiserver 异常退出,怎么排查

  •  
  •   proxytoworld 2023-03-08 15:09:13 +08:00 2417 次点击
    这是一个创建于 948 天前的主题,其中的信可能已经有所发展或是发生改变。

    k8s 的 apiserver 监听在 6443 端口,现在 kubeadm init 之后,会自己退出,不知道为什么,有什么办法能排查退出原因吗

    12 条回复    2023-03-09 21:44:09 +08:00
    hwdef
        1
    hwdef  
       2023-03-08 15:11:00 +08:00
    通过 docker 看 apiserver 的日志
    proxytoworld
        2
    proxytoworld  
    OP
       2023-03-08 15:14:05 +08:00
    @hwdef k8s 默认运行时不是 containerd 吗,docker 也可以看日志?
    JQ
        3
    JQ  
       2023-03-08 15:21:11 +08:00
    试试 crictl logs
    keenking
        4
    keenking  
       2023-03-08 15:33:19 +08:00
    当您运行 kubeadm init 后,它会启动 Kubernetes 集群的各个组件,并在启动完毕后自动退出。如果 kubeadm init 无法启动 Kubernetes 组件,则它可能会在启动过程中退出。

    要查看 kubeadm init 为什么会退出,您可以查看其输出以查找任何错误或警告消息。您还可以检查 Kubernetes 组件的日志以查看是否存在任何问题。在大多数情况下,kubelet 、kube-proxy 、apiserver 、controller-manager 和 scheduler 日志应该能够提供有关出现问题的原因的线索。

    以下是一些可能会导致 kubeadm init 失败的常见问题:

    6443 端口已被占用:请确保没有其他进程在使用 6443 端口。
    配置文件中的错误:请检查 kubeadm init 命令中的配置文件是否正确,特别是与网络配置相关的部分。
    镜像拉取问题:请确保您的节点可以从 Kubernetes 镜像仓库中拉取所需的镜像。可以尝试手动拉取这些镜像并查看是否存在问题。
    没有足够的资源:请确保您的节点具有足够的资源(例如 CPU 、内存和磁盘空间)来运行 Kubernetes 组件。
    如果您无法确定问题的原因,请考虑在 kubeadm init 命令中使用 --v=10 标志以获取更详细的日志信息。您还可以在运行 kubeadm init 命令时添加 --dry-run 标志以模拟初始化过程,以便检查配置文件是否正确。
    nixum
        5
    nixum  
       2023-03-08 15:34:30 +08:00
    kube logs 和 describe 看看有没有什么有价值的信息
    Frankcox
        6
    Frankcox  
       2023-03-08 15:36:28 +08:00
    登录到 master 上 journalctl -u kube-apiserver
    JQ
        7
    JQ  
       2023-03-08 15:40:46 +08:00
    出现 kube-apiserver 异常退出可能是由多种原因引起的,以下是一些可能的排查步骤:

    1. 查看日志:kube-apiserver 的日志信息保存在 /var/log/messages 中,可以使用以下命令查看:

    ```
    $ sudo journalctl -u kube-apiserver.service
    ```

    2. 检查 kube-apiserver 的配置:检查 kube-apiserver 的配置文件是否正确,并确保其与其他组件的配置相匹配。

    3. 检查资源使用情况:kube-apiserver 作为集群控制平面的一部分,可能因为资源不足导致其异常退出,可以使用以下命令检查资源使用情况:

    ```
    $ top
    $ kubectl top node
    $ kubectl top pod
    ```

    4. 检查 kube-apiserver 的状态:可以使用以下命令检查 kube-apiserver 的运行状态:

    ```
    $ kubectl get componentstatuses
    ```

    5. 升级版本:kube-apiserver 的异常退出可能是由于版本不兼容等原因造成的,可以考虑升级其版本。升级可以使用 kubeadm upgrade 等方式进行。

    6. 重新启动 kube-apiserver:可以尝试重新启动 kube-apiserver 服务以解决问题:

    ```
    $ sudo systemctl restart kube-apiserver.service
    ```

    以上是一些可能的排查步骤,具体排查方法需要根据实际情况进行分析和调整。
    hwdef
        8
    hwdef  
       2023-03-08 16:52:21 +08:00
    @proxytoworld 忘记了。。那就在 containerd 看看日志。。
    bbbb
        9
    bbbb  
       2023-03-08 17:01:30 +08:00
    我之前遇到的一个情况:coredns 一直都是 Containercreating 状况没发现,导致部署的时候一直失败,后面看用 describe 看到是连接出现问题,查了资料,加上:`--pod-network-cidr`整体就没错了。
    ``kubeadm init \
    --image-repository registry.aliyuncs.com/google_containers \
    --apiserver-advertise-address 172.16.85.158 \
    --pod-network-cidr=10.122.0.0/16 \
    --token-ttl 0
    ```
    nixum
        10
    nixum  
       2023-03-08 17:28:18 +08:00
    @nixum 尴尬了,没注意看是 kube-apiserver 有问题。。。那上 kube-apiserver 那台机器看看对应容器日志
    proxytoworld
        11
    proxytoworld  
    OP
       2023-03-09 10:54:20 +08:00
    @bbbb 感谢,我加了这个也没错了
    redsun368573607
        12
    redsun368573607  
       2023-03-09 21:44:09 +08:00 via Android
    @JQ 你这 ChatGPT 生成的吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2686 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 14:11 PVG 22:11 LAX 07:11 JFK 10:11
    Do have faith in what you're doing.
    ubao 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