##初探在容器上构建持续部署( 七 )
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
- 「预计 3 分钟读完」助力构建基于AI的服务生态体系,第四范式完成2.3亿美元C+轮融资
- 人员防控:合肥:构建五道硬核“监督网” 筑牢境外输入“防疫墙”
- PingWest品玩:Gartner报告:阿里云容器产品布局全球第一
- 【腾讯科技】微软谷歌亚马逊云竞争开启新战线 无需编写代码短时间内构建应用
- Gartner报告:阿里云容器产品布局全球第一
- 『腾讯科技』265亿美元!美国第三、第四大运营商正式合并 努力构建最好的5G网络
- 『中国经济网』构建中国云生态|华云数据携手云新信息推出数据中心设备管理平台DCM联合解决方案
- 「滕州房产超市网」滕州亿和广场2020年3月工程播报,一砖一瓦构建幸福
- 如何借助openEuler 20.03 LTS版本构建企业级服务器操作系统
- [科技女王范儿]后者致力于构建世界范围的三维建模,Niantic宣布收购AR点云技术公司6D.ai