我已经设置了一个Kubernetes 1.5集群,其中三个主节点被污染为dedicated = master:NoSchedule.现在我想在主节点上部署Nginx入口控制器,所以我增加了容忍度:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-ingress-controller
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
spec:
replicas: 3
template:
metadata:
labels:
k8s-app: nginx-ingress-lb
name: nginx-ingress-lb
annotations:
scheduler.alpha.kubernetes.io/tolerations: |
[
{
"key": "dedicated",
"operator": "Equal",
"value": "master",
"effect": "NoSchedule"
}
]
spec:
[…]
Run Code Online (Sandbox Code Playgroud)
不幸的是,这没有达到预期的效果:Kubernetes安排工人的所有Pod.将副本数量扩展到更大的数量时,Pod也会部署在工作人员上.
如何才能实现对主节点的调度?
谢谢你的帮助.
Docker允许将--pull标志传递给docker build例如docker build --pull -t myimage .。如何在我的管道中强制使用管道脚本提取基本映像Jenkinsfile?通过这种方式,我想确保尽管本地有可用的版本,但构建始终使用最新的容器映像。
node('docker') {
def app
stage('Checkout') {
checkout scm
}
stage('Build image') {
docker.withRegistry('https://myregistry.company.com', 'dcr-jenkins') {
app = docker.build "myimage"
}
}
stage('Publish image') {
docker.withRegistry('https://myregistry.company.com', 'dcr-jenkins') {
app.push("latest")
}
}
}
Run Code Online (Sandbox Code Playgroud)