【问题标题】:How to start K3s server after running k3s-killall.sh script运行 k3s-killall.sh 脚本后如何启动 K3s 服务器
【发布时间】:2021-10-19 11:10:13
【问题描述】:

我正在运行运行以下 pod 的 K3s 集群:

kube-system   pod/calico-node-xxxx                          
kube-system   pod/calico-kube-controllers-xxxxxx   
kube-system   pod/metrics-server-xxxxx
kube-system   pod/local-path-provisioner-xxxxx
kube-system   pod/coredns-xxxxx
xyz-system    pod/some-app-xxx
xyz-system    pod/some-app-db-xxx

我想停止所有 K3s pod 并重置 containerd 状态,所以我使用了/usr/local/bin/k3s-killall.sh 脚本并且所有 pod 都停止了(至少我在watch kubectl get all -A 中看不到任何东西,除了The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port? 消息)

谁能告诉我如何启动 k3s 服务器,因为现在在触发 kubectl get all -A 之后我收到了消息 The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?

PS:

  • 当我运行k3s server 命令时,我可以在几分之一秒内看到我在命令运行时提到的上面相同的 pod(具有相同的 pod id)。几秒钟后,命令退出并再次开始显示相同的消息The connection to the...

这是否意味着 k3s-killall.sh 没有删除我的 pod,因为它显示具有相同 id 的相同 pod(例如 pod/some-app-xxx )?

【问题讨论】:

  • 据我所知,k3s 使用嵌入式 etcd 服务。 etcd 保持集群的状态。这包括部署、状态集和所有其他资源。令我惊讶的是,我无法说出它失败的原因。可能您可以检查您的日志或使用 systemctl status k3s。不确定,k3s-killall.sh 实际上在做什么。

标签: kubernetes kubernetes-pod kubernetes-service k3s kubernetes-apiserver


【解决方案1】:
  1. 如果您希望集群在杀死后恢复,我认为您需要通过 systemd 重新启动 K3s。试试命令:
    sudo systemctl restart k3s systemd 和 openrc 的安装脚本支持这一点。参考rancher doc

  2. pod-xxx id 将保持不变,因为 k3s-killall.sh 不会卸载 k3s(您可以验证这一点,在 k3s-killall 脚本k3s -v 将返回输出之后)并且它只会重新启动具有相同图像的 pod。 Restarts 列将增加所有 pod 的数量。

【讨论】:

  • "sudo systemctl restart k3s" 命令没有任何效果。 pods、svc 和 ingress 组件的 age 参数具有相同的值。我想跳过 traefik 服务器并重新启动 k3s
【解决方案2】:

cd /usr/local/bin

块引用

./k3s 服务器

【讨论】:

    猜你喜欢
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    相关资源
    最近更新 更多