使用kubeadm配置时重新启动kube-apiserver

pag*_*gid 6 kubernetes

当供应一kubernetes簇与kubeadmin init它创建这保持群集kube-apiserver,etcd,kube-controller-managerkube-scheduler搬运工容器内的进程.

每当kube-apiserver更改某些配置(例如访问令牌)时,我都要重新启动相关服务器.虽然我通常可以systemctl restart kube-apiserver.service在其他安装上运行,但我已经杀死了该安装上的docker容器,或者重新启动系统以重新启动它.

那么还有更好的方法来重启kube-apiserver吗?

Jan*_*art 8

您可以删除kube-apiserver Pod.它是一个静态Pod(如果安装了kubeadm),将立即重新创建.

如果我没记错的话,那个安装的清单目录是/ etc/kubernetes/manifest,但我稍后会检查并编辑这个答案.只需触摸kube-apiserver.json,也可以重新创建Pod.

  • 确切的路径是:`/etc/kubernetes/manifests/kube-apiserver.yaml` 但你不能用 `kubectl create ..` 重新创建它,因为 .. API 服务器已关闭。我遇到了这个问题,在我运行 `systemctl restart kubelet` 后,它解决了这个问题。提到的静态 pod @Janos Lenart 的链接也提到了这一点。 (2认同)
  • 删除 pod 不会重新启动容器 (2认同)

Far*_*ahi 4

实际上有一个命令:

docker restart <containername/ID>
Run Code Online (Sandbox Code Playgroud)

某些配置更改将通过重新加载服务来应用。就像 nginx.conf 中的常见指令一样。如果您的服务支持重新加载,您可以尝试以下操作:

docker kill -s HUP <nginx container>
Run Code Online (Sandbox Code Playgroud)

这将重新加载 nginx 服务。

重新启动容器的主进程将使容器停止。

我已经杀死了该安装上的 docker 容器或重新启动系统以重新启动它。

请不要为此重新启动整个服务器。