建议在排水前将单独的吊舱移动到其他节点的建议方法是什么?这样,kubectl排水节点1 --force不会删除吊舱

时间:2018-11-29 05:38:04

标签: kubernetes kubectl

在文档中找不到该怎么做。用>jhipster import-jdl jdlfilename.jdl 除去非ReplicationController管理的pod的节点后,ReplicaSet,Job,DaemonSet或StatefulSet丢失。在发出排水命令之前,我应如何移动此类吊舱?我想在这些容器上保留本地数据。

1 个答案:

答案 0 :(得分:1)

一种好的做法是始终将<row id="PersonnelID" text="PersonnelID" /> <row id="UserID" text="UserID" /> <row id="FirstName" text="FirstName" /> <row id="LastName" text="LastName" /> <row id="MiddleName" text="MiddleName" /> <row id="PreferredName" text="PreferredName" /> <row id="HomePhone" text="HomePhone" /> <row id="WorkEmail" text="WorkEmail" /> <row id="bActing" text="bActing" /> <row id="HomeAddress" text="HomeAddress" /> <row id="GSLevel" text="GSLevel" /> 的Pod设为Deployment。部署specs.replicas: 1确实可以容纳您的Pod specs.template,这非常容易,并且非常方便,因为部署可以确保Pod始终处于运行状态。

然后,假设您只有一个Pod副本,则可以简单地使用PersistentVolumeClaim并将其作为卷附加到Pod,在这种情况下,不需要StatefulSet。您的数据将存储在PVC中,并且无论您的Pod出于何种原因在节点上移动时,它都会自动重新连接该卷,而不会丢失任何数据。

现在,如果对您来说太迟了,并且您的Pod没有指向PVC的卷,您仍然可以通过实施Deployment / PVC方法并手动从当前版本中复制数据来准备进行更改吊舱:

specs

在将其复制回新窗格之前:

kubectl cp theNamespace/thePod:/the/path /somewhere/on/your/local/computer

这次,只需确保kubectl cp /somewhere/on/your/local/computer theNamespace/theNewPod:/the/path (重用上面的示例)实际上是一个映射到PVC的卷,那么您就不必再次手动执行该操作!