如何在运行k3s-killall.sh脚本后启动K3s服务器

11

我有一个运行以下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)?

1
据我所知,k3s使用嵌入式etcd服务。etcd保持着您的集群状态,包括部署、有状态集和其他所有资源。令我惊讶的是,我无法确定它为什么失败了。也许您可以检查日志或使用systemctl status k3s进行排查。不确定k3s-killall.sh实际上是做什么的。 - Manuel
2个回答

17
  1. 如果你想在停止后恢复集群,我认为你需要通过systemd重新启动K3s。尝试使用以下命令:
    sudo systemctl restart k3s 这在systemd和openrc的安装脚本中都得到了支持。请参考rancher文档

  2. 由于k3s-killall.sh不会卸载k3s(你可以验证一下,在运行k3s-killall脚本之后运行k3s -v将返回输出),因此pod-xxx ID将保持不变,并且它只会以相同的镜像重启Pod。所有Pod的Restarts列将增加计数。


2
“sudo systemctl restart k3s” 命令没有任何效果。pods、svc 和 ingress 组件的 age 参数具有相同的值。我想跳过 traefik 服务器并重新启动 k3s。 - Andy Dufresne

-2

cd /usr/local/bin

引用块

./k3s 服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接