apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: jenkins
spec:
replicas: 1
template:
metadata:
labels:
app: jenkins
annotations:
pod.beta.kubernetes.io/init-containers: '[
{
"name": "ssh-config",
"image": "monkeylittle/jenkins:1.0.0",
"imagePullPolicy": "IfNotPresent",
"command": ["bash", "-c", "
while [ ! -e /var/jenkins_home/ssh_config -o ! -e /var/jenkins_home/ssh_key ]; do sleep 1; done;\n
mkdir -p /var/jenkins_home/.ssh\n
cp /var/jenkins_home/ssh_config/* /var/jenkins_home/.ssh/\n
cp /var/jenkins_home/ssh_key/* /var/jenkins_home/.ssh/\n
chmod 400 /var/jenkins_home/.ssh/id_jenkins*
"],
"volumeMounts": [
{
"name": "jenkins-home",
"mountPath": "/var/jenkins_home"
},
{
"name": "jenkins-ssh-config",
"mountPath": "/var/jenkins_home/ssh_config"
},
{
"name": "jenkins-ssh-key",
"mountPath": "/var/jenkins_home/ssh_key"
}
]
}
]'
spec:
containers:
- name: jenkins
image: monkeylittle/jenkins:1.0.0
env:
- name: JAVA_OPTS
value: -Djenkins.install.runSetupWizard=false
ports:
- name: http-port
containerPort: 8080
- name: jnlp-port
containerPort: 50000
volumeMounts:
- name: jenkins-home
mountPath: /var/jenkins_home
volumes:
- name: jenkins-ssh-config
configMap:
name: jenkins-ssh-config
- name: jenkins-ssh-key
secret:
secretName: jenkins-ssh-key
- name: jenkins-home
emptyDir: {}
kubernetes init-container
最新推荐文章于 2024-08-13 10:40:11 发布