k8s 的 apiserver 监听在 6443 端口,现在 kubeadm init 之后,会自己退出,不知道为什么,有什么办法能排查退出原因吗
1
hwdef 2023-03-08 15:11:00 +08:00
通过 docker 看 apiserver 的日志
|
2
proxytoworld OP @hwdef k8s 默认运行时不是 containerd 吗,docker 也可以看日志?
|
3
JQ 2023-03-08 15:21:11 +08:00
试试 crictl logs
|
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 标志以模拟初始化过程,以便检查配置文件是否正确。 |
5
nixum 2023-03-08 15:34:30 +08:00
kube logs 和 describe 看看有没有什么有价值的信息
|
6
Frankcox 2023-03-08 15:36:28 +08:00
登录到 master 上 journalctl -u kube-apiserver
|
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 ``` 以上是一些可能的排查步骤,具体排查方法需要根据实际情况进行分析和调整。 |
8
hwdef 2023-03-08 16:52:21 +08:00
@proxytoworld 忘记了。。那就在 containerd 看看日志。。
|
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 ``` |
10
nixum 2023-03-08 17:28:18 +08:00
@nixum 尴尬了,没注意看是 kube-apiserver 有问题。。。那上 kube-apiserver 那台机器看看对应容器日志
|
11
proxytoworld OP @bbbb 感谢,我加了这个也没错了
|
12
redsun368573607 2023-03-09 21:44:09 +08:00 via Android
@JQ 你这 ChatGPT 生成的吧
|