nginx - 将 docker 镜像部署到 k8s 集群问题
问题描述
我正在尝试将 docker 映像部署到 kubernetes,但遇到了一个奇怪的问题。下面是我在 jenkinsfile 中使用的命令
stage('Deploy to k8s') {
steps{
sshagent(['kops-machine']) {
sh "scp -o StrictHostKeyChecking=no deployment.yml ubuntu@<ip>:/home/ubuntu/"
sh "ssh ubuntu@<ip> kubectl apply -f ."
sh 'kubectl set image deployment/nginx-deployment nginx=account/repo:${BUILD_NUMBER}'
}
}
我收到此错误消息
- kubectl set image deployment/nginx-deployment nginx=account/repo:69 错误:服务器没有资源类型“部署”
奇怪的是,如果我复制并粘贴此命令并在集群上执行,图像会更新 kubectl set image deployment/nginx-deployment nginx=account/repo:69 有人可以帮忙,图像构建并成功推送到 docker hub,它的只是我坚持拉和部署到 kubernetes 集群,如果您有任何其他选择,请告诉我,复制到服务器的 deployment.yml 文件如下
spec:
containers:
- name: nginx
image: account/repo:3
ports:
- containerPort: 80
解决方案
好的,如果找到解决方法。如果我在我的 docker 文件中更改这一行
sh "ssh ubuntu@<ip> kubectl apply -f ." to
sh "ssh ubuntu@<ip> kubectl set image deployment/nginx-deployment
nginx=account/repo:${BUILD_NUMBER}"
它可以工作,但是如果根本没有创建部署,那么我必须添加这两行才能使其工作
sh "ssh ubuntu@<ip> kubectl apply -f ."
sh "ssh ubuntu@<ip> kubectl set image deployment/nginx-deployment
nginx=account/repo:${BUILD_NUMBER}"
推荐阅读
- facebook-opengraph - Facebook Open Graph 抓取基本 URL 而不是实际 URL
- c# - HttpClient - 最佳实践解决方法
- swift - 按翻译的属性对核心数据对象进行排序
- c++ - 如何编写析构函数以删除每个节点是包含多个数组的动态分配结构的树?
- python - 如何在 django 的一个序列化程序中加入两个相关模型
- android - RxJava kotlin flatmap 链式网络协程返回结果
- directx-11 - direct3D 11 中的 SV_PrimitiveID 和基元
- java - 如何在另一个实例中为 jboss EAP 7 创建用户
- angular - 由于找不到实体模块而出现错误
- python - 在python中暂停线程