我创建了带有节点池的GKE集群,但是我忘了给节点加标签... 在Google Cloud Platform用户界面中,我无法为现有节点池编辑或添加Kubernetes标签... 在不重新创建整个节点池的情况下该怎么办?
答案 0 :(得分:1)
您可以使用public class FooterProblem {
public static void main(final String[] args) throws Exception {
final XWPFDocument docx = new XWPFDocument();
final XWPFParagraph para = docx.createParagraph();
final XWPFRun paraRun = para.createRun();
paraRun.setText("Email: ");
appendExternalHyperlink("mailto:me@example.com", "me@example.com", para);
final XWPFParagraph footer = docx.createFooter(HeaderFooterType.DEFAULT).createParagraph();
final XWPFRun footerRun = footer.createRun();
footerRun.setText("Email: ");
appendExternalHyperlink("mailto:me@example.com", "me@example.com", footer);
final FileOutputStream out = new FileOutputStream("FooterProblem.docx");
docx.write(out);
out.close();
docx.close();
}
public static void appendExternalHyperlink(final String url, final String text, final XWPFParagraph paragraph) {
// Add the link as External relationship
final String id = paragraph.getDocument().getPackagePart()
.addExternalRelationship(url, XWPFRelation.HYPERLINK.getRelation()).getId();
// Append the link and bind it to the relationship
final CTHyperlink cLink = paragraph.getCTP().addNewHyperlink();
cLink.setId(id);
// Create the linked text
final CTText ctText = CTText.Factory.newInstance();
ctText.setStringValue(text);
final CTR ctr = CTR.Factory.newInstance();
ctr.setTArray(new CTText[] { ctText });
// Insert the linked text into the link
cLink.setRArray(new CTR[] { ctr });
}
}
编辑节点配置,包括标签:
kubectl
使用kubectl edit node <your node name>
获取您的节点列表。如果您在连接GKE集群时遇到问题,请查看文档here。
答案 1 :(得分:1)
在不重新创建节点的情况下无法编辑标签,因此GKE不支持在节点池上更新标签。
在GKE中,Kubernetes标签通过kubelet
二进制文件应用于节点,二进制文件接收它们作为通过节点启动脚本传递的标志。重新创建节点池中的所有节点与创建新节点池一样具有破坏性(或更具有破坏性),因此不支持更新标签来更新节点池。
答案 2 :(得分:0)
按照您的方式创建新的节点池,然后将工作负载迁移到该节点池。然后摧毁旧游泳池。
根据工作量,将pod移到新节点时,服务中可能会出现“斑点”。
我定义了两个节点池:蓝色和绿色。在任何给定时间,只有一个池可用。
如果我需要进行更改:
我已经准备好进行下一次更改。
大卫