kubernetes k8smaster服务器像工作者一样工作[关闭]

sxpgvts3  于 12个月前  发布在  Kubernetes
关注(0)|答案(1)|浏览(125)

**已关闭。**此问题为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'){
                 ...
            }
    }
}

字符串

zd287kbt

zd287kbt1#

如果您只想在工作节点上写入或创建.m2文件,可以按照以下方式之一操作
**1.**如果您不想将服务调度到K8s主节点,可以使用taint。

使用kubectl taint将taint添加到节点。

kubectl taint nodes node1 key1=value1:NoSchedule

字符串

**2.**您可以使用Pod上的节点选择器和节点上的标签来控制Pod的调度位置。这里您可以选择不在主节点上调度Pod,也可以选择同一个应用有两个不同的版本,一个将创建.m2文件,另一个不使用节点选择器,并相应地在主节点和工作节点上分发您的Pod。

节点选择器可用于将特定pod放置在指定节点上;集群范围的节点选择器可用于将新pod放置在集群中的任何指定节点上;项目节点选择器可用于将新pod放置在项目内的指定节点上。
有关进一步的阅读,请参阅此官方doc 1doc 2

相关问题