Kubernetes 我怎样才能阻止库伯内特斯控制飞机吊舱?

Kubernetes 我怎样才能阻止库伯内特斯控制飞机吊舱?,kubernetes,Kubernetes,只是好奇,对于mesos,我已经习惯了能够执行systemctl停止mesos master和systemctl启动mesos master(如果出于某种原因需要反弹它)。对于k8s,控制平面中有多个组件要“停止”,如apiserver、controller manager等 当使用kubeadm创建集群时,它将控制平面作为pod运行(没有副本集,或者类似的东西,可能是因为我目前只有一个主节点) 在控制平面上停止然后重新启动的最好方法是什么,在不拆除集群的情况下?Kubernetes集群将自身划

只是好奇,对于mesos,我已经习惯了能够执行
systemctl停止mesos master
systemctl启动mesos master
(如果出于某种原因需要反弹它)。对于k8s,控制平面中有多个组件要“停止”,如apiserver、controller manager等

当使用kubeadm创建集群时,它将控制平面作为pod运行(没有副本集,或者类似的东西,可能是因为我目前只有一个主节点)


在控制平面上停止然后重新启动的最好方法是什么,在不拆除集群的情况下?

Kubernetes集群将自身划分为微服务,这意味着每个组件应相互独立。如果其中一个组件发生故障,则不应影响其他组件,以避免可怕的级联效应

让我们从Linux内核开始。它确保Systemd健康并履行其职责。现在Kubeadm确保Kubelet(在主节点中)作为systemd服务运行。您可以通过以下命令进行检查

systemctl status kubelet
Kubelet(在主节点中)确保控制平面组件etcd、kube apiserver、kube控制器管理器和kube调度程序作为docker引擎的pod运行,但是,它们是系统服务。因为它们在清单文件中使用主机网络和主机套接字。您可以使用systemctljournalctl检查它们的状态

 systemctl status kube-apiserver
Pod在工作节点中,通过使用CNI插件使用Pod网络

现在K8s集群处于活动状态,Kube apiServer和其他组件处于正常状态。您可以提供所有其他k8s资源,如部署、复制集、服务等,并将部署到工作节点。它将根据您的愿望工作,这将是etcd中的期望状态

一旦部署资源(POD、服务等)在工作节点中运行,主节点的责任是确保所需状态===当前状态

 systemctl status kube-apiserver
若主节点失效,工作节点将成为孤立节点,这意味着您的当前状态将是最终状态

回答您的问题

可以在主节点中启动每个组件,但请记住它们的依赖性

例子

若Kube api服务器出现故障,其他组件(Kube调度程序、Kube控制器管理器)将无法与etcd(真相来源)进行通信

Kube控制器管理器进一步分为控制器,如replicaSet控制器、部署控制器、服务控制器等。它们关注自己的业务,并确保所需状态===当前状态。 有趣的是,如果Kube中的一个控制器发生故障,控制器管理器将停止所有控制器并自行终止。现在库贝莱会再次弥补的


总之,我们需要确保我们的主节点没有任何单点故障,这就是为什么我们总是希望有高可用性的控制平面

Kubernetes集群将自身划分为微服务,这意味着每个组件应该相互独立。如果其中一个组件发生故障,则不应影响其他组件,以避免可怕的级联效应

让我们从Linux内核开始。它确保Systemd健康并履行其职责。现在Kubeadm确保Kubelet(在主节点中)作为systemd服务运行。您可以通过以下命令进行检查

systemctl status kubelet
Kubelet(在主节点中)确保控制平面组件etcd、kube apiserver、kube控制器管理器和kube调度程序作为docker引擎的pod运行,但是,它们是系统服务。因为它们在清单文件中使用主机网络和主机套接字。您可以使用systemctljournalctl检查它们的状态

 systemctl status kube-apiserver
Pod在工作节点中,通过使用CNI插件使用Pod网络

现在K8s集群处于活动状态,Kube apiServer和其他组件处于正常状态。您可以提供所有其他k8s资源,如部署、复制集、服务等,并将部署到工作节点。它将根据您的愿望工作,这将是etcd中的期望状态

一旦部署资源(POD、服务等)在工作节点中运行,主节点的责任是确保所需状态===当前状态

 systemctl status kube-apiserver
若主节点失效,工作节点将成为孤立节点,这意味着您的当前状态将是最终状态

回答您的问题

可以在主节点中启动每个组件,但请记住它们的依赖性

例子

若Kube api服务器出现故障,其他组件(Kube调度程序、Kube控制器管理器)将无法与etcd(真相来源)进行通信

Kube控制器管理器进一步分为控制器,如replicaSet控制器、部署控制器、服务控制器等。它们关注自己的业务,并确保所需状态===当前状态。 有趣的是,如果Kube中的一个控制器发生故障,控制器管理器将停止所有控制器并自行终止。现在库贝莱会再次弥补的


总之,我们需要确保我们的主节点没有任何单点故障,这就是为什么我们总是希望有高可用性的控制平面

Kubernetes控制飞机吊舱通常部署为:。它们不是由任何类型的部署控制器管理的,而是在静态(因此命名)配置文件中定义的,这些文件位于配置目录中(例如
/etc/kubelet.d/
/etc/kubernetes/manifests
,具体取决于集群的设置方式)。这些定义文件是