**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
上个月关门了。
社区上个月审查了是否重新打开这个问题,并将其关闭:
原始关闭原因未解决
Improve this question的
我使用Jenkins将Spring项目部署到Kubernetes。我有k8smaster和3个worker服务器。它有时会在k8smaster服务器下写入.m2文件。我如何防止这种情况?所以我希望它只在worker服务器上写入。
kubernetes节点
的数据
我在Jenkins中定义了一个具有特殊名称的标签,这样作业就不会在主服务器上运行,但它仍然像worker一样工作。
Jenkins要装载到代理Pod中的卷列表
Pod模板设置
示例流水线
node ("zrgl-label") {
stage('Checkout'){
cleanWs()
withCredentials([gitUsernamePassword(credentialsId: 'zrgl.jenkins')]){
sh 'git clone -b ..'
}
}
stage('Kubernetes Deployment'){
container('kubectl'){
...
}
}
}
字符串
1条答案
按热度按时间zd287kbt1#
如果您只想在工作节点上写入或创建.m2文件,可以按照以下方式之一操作
**1.**如果您不想将服务调度到K8s主节点,可以使用taint。
使用kubectl taint将taint添加到节点。
字符串
**2.**您可以使用Pod上的节点选择器和节点上的标签来控制Pod的调度位置。这里您可以选择不在主节点上调度Pod,也可以选择同一个应用有两个不同的版本,一个将创建.m2文件,另一个不使用节点选择器,并相应地在主节点和工作节点上分发您的Pod。
节点选择器可用于将特定pod放置在指定节点上;集群范围的节点选择器可用于将新pod放置在集群中的任何指定节点上;项目节点选择器可用于将新pod放置在项目内的指定节点上。
有关进一步的阅读,请参阅此官方doc 1和doc 2