@初探在容器上构建持续部署( 七 )
docker push ${imageName}
''''''
}
}
}
- 尽量多使用k8s和Dcoker
- Jenkins脚本的代码越少越好
- 常见问题:
Jenkins的脚本即可以使用单引号也可以使用双引号 , 但如果你在引号里引用了变量 , 那么就要使用双引号 。
正确的命令:
sh ''kubectl apply -f ${WORKSPACE}${kubBackendDirectory}/backend-deployment.yaml''
错误的命令:
sh 'kubectl apply -f ${WORKSPACE}${kubBackendDirectory}/backend-deployment.yaml'2.docker not found
如果Jenkins的容器里没有Docker , 但你又调用了Docker命令 , 那么“Console Output”里就会有如下错误:
docker inspect -f . k8sdemo-backend:latest
/var/jenkins_home/workspace/k8sdec@2@tmp/durable-01e26997/script.sh: 1: /var/jenkins_home/workspace/k8sdec@2@tmp/durable-01e26997/script.sh: docker: not found
3.Jenkins宕机了
在调试Jenkins时 , 我新创建了一个镜像文件并上传到“Docker hub”之后就发现Jenkins宕机了 。 检查了Pod , 发现了问题 , k8s找不到Jenkins的镜像文件了(镜像文件从磁盘上消失了) 。 因为Jenkins的部署文件的设置是“imagePullPolicy: Never” , 所以一旦镜像没有了 , 它不会自动重新下载 。 后来找到了原因 , Vagrant的默认磁盘大小是10G , 如果空间不够 , 它会自动从磁盘上删除其他镜像文件 , 腾出空间 , 结果就把Jenkins的镜像文件给删了 , 解决方案是扩充Vagrant的磁盘大小 。
下面是修改之后的Vagrantfile , 把磁盘空间改成了16G 。
Vagrant.configure(2) do |config|
。。。
config.vm.box = ''ubuntu/xenial64''
config.disksize.size = '16GB'
。。。
end
详情请见How can I increase disk size on a Vagrant VM?
https://askubuntu.com/questions/317338/how-can-i-increase-disk-size-on-a-vagrant-vm
本文插图
源码
完整源码的github链接:https://github.com/jfeng45/k8sdemo
下面是项目中与本文有关的部分:
本文插图
附录:
下面是Jenkins项目运行后的完整的“Console Output”:
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] podTemplate
[Pipeline] {
[Pipeline] node
Still waiting to schedule task
‘k8sdemopod-030ed100-cb28-4770-b6de-c491970e5baa-twb8s-k9pn3’ is offline
Agent k8sdemopod-030ed100-cb28-4770-b6de-c491970e5baa-twb8s-k9pn3 is provisioned from template Kubernetes Pod Template
Agent specification [Kubernetes Pod Template] (k8sdemopod-030ed100-cb28-4770-b6de-c491970e5baa):
* [modified-jenkins] jfeng45/modified-jenkins:1.0
Running on k8sdemopod-030ed100-cb28-4770-b6de-c491970e5baa-twb8s-k9pn3 in /home/jenkins/workspace/jenkins-k8sdemo
推荐阅读
- 【大连】大连化物所:通过纳米反应器的电催化效应构建高性能的锂硫电池
- []构建120Hz壁垒,全球最快充电,Find X2标准版表现均衡且全面
- 『甘肃』“绿”动甘肃加快构建清洁高效能源体系
- 砍柴网:华为云 Volcano 容器批量计算正式成为 CNCF 官方项目
- 计算:引领云原生|华为云Volcano容器批量计算正式成为CNCF官方项目
- 『karl』视觉设计软件公司「Lucid Software」获 5200 万美元融资,帮助用户构建工作图表
- 「海信」海信发布2020年4大系列电视新品 构建超画质和全场景娱乐体验
- 「」从0到100,用户画像的构建思路,值得学习参考!
- 「路由器」接上U盘就能构建虚拟局域网!蒲公英X5路由器使用体验分享
- 『IBM中国』全球CEO洞察:构建数据优势,这3大领域是关键!
