【发布时间】:2019-02-11 21:34:51
【问题描述】:
我正在尝试将 Jenkins 设置为在 Kubernetes 上的容器中运行,但我无法为 Jenkins 主目录持久保存卷。
这是我的 deployment.yml 文件。图片来自jenkins/jenkins
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: jenkins-deployment
labels:
app: jenkins
spec:
replicas: 1
selector:
matchLabels:
app: jenkins
template:
metadata:
labels:
app: jenkins
spec:
containers:
- name: jenkins
image: 1234567.dkr.ecr.us-east-1.amazonaws.com/mycompany/jenkins
imagePullPolicy: "Always"
ports:
- containerPort: 8080
volumeMounts:
- name: jenkins-home
mountPath: /var/jenkins_home
volumes:
- name: jenkins-home
emptyDir: {}
但是,如果我随后将一个新容器推送到我的映像存储库并使用以下命令更新 pod,Jenkins 会重新联机但要求我从头开始(输入管理员密码,我的 Jenkins 作业都不存在,不插件等)
kubectl apply -f kubernetes (where my manifests are stored)
kubectl set image deployment/jenkins-deployment jenkins=1234567.dkr.ecr.us-east-1.amazonaws.com/mycompany/jenkins:$VERSION
我是否误解了此卷挂载的工作原理?
顺便说一句,我还有备份和恢复脚本,可以将 Jenkins 主目录备份到 s3,然后再次下载,但这有点超出了这个问题的范围。
【问题讨论】:
标签: jenkins kubernetes