当前位置: 首页 > news >正文

wordpress 主题 html5 左右滑动切换文章站群优化公司

wordpress 主题 html5 左右滑动切换文章,站群优化公司,奢侈品 网站建设方案,网站建设国家有补贴吗摘要 总算能让devops运行以后,流水线却卡在了deploy这一步。碰到了两个比较大的问题,一个是无法使用k8sp自带的kubeconfig认证去部署;一个是部署好了以后但是没有办法解析镜像名。 版本信息 k8s:v1.21.5 k8sp:v3.3.…

摘要

总算能让devops运行以后,流水线却卡在了deploy这一步。碰到了两个比较大的问题,一个是无法使用k8sp自带的kubeconfig认证去部署;一个是部署好了以后但是没有办法解析镜像名。

版本信息

k8s:v1.21.5
k8sp:v3.3.0

流水线概览

image

Q问题描述

pipeline 在deploy 的阶段总是报各种错。

Q1.使用k8sp自带kube认证产生报错

      stage('deploy fail') {agent nonesteps {withCredentials([kubeconfigContent(credentialsId : 'kubeconfigger' ,variable : 'KUBECONFIGGER' ,)]) {kubernetesDeploy(enableConfigSubstitution: true, deleteResource: false, kubeconfigId: 'kubeconfigger', configs: 'hospital-manage/deploy/**')}}}

报错内容如下:

Starting Kubernetes deployment
Loading configuration: /home/jenkins/agent/workspace/redp5lk5/rose/hospital-manage/deploy/deploy.yml
ERROR: ERROR: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: 
hudson.remoting.ProxyException: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager.handleApiExceptionExceptNotFound(ResourceManager.java:180)at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:213)at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:201)at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager$ResourceUpdater.createOrApply(ResourceManager.java:93)at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.handleResource(KubernetesClientWrapper.java:289)at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.apply(KubernetesClientWrapper.java:256)at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.doCall(DeploymentCommand.java:172)at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:124)at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:106)at hudson.remoting.UserRequest.perform(UserRequest.java:211)at hudson.remoting.UserRequest.perform(UserRequest.java:54)at hudson.remoting.Request$2.run(Request.java:376)at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78)at java.base/java.util.concurrent.FutureTask.run(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:122)at java.base/java.lang.Thread.run(Unknown Source)Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 10.233.81.183/10.233.81.183:49480at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1797)at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)at hudson.remoting.Channel.call(Channel.java:1001)at hudson.FilePath.act(FilePath.java:1256)at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:68)at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:45)at com.microsoft.jenkins.azurecommons.command.CommandService.runCommand(CommandService.java:88)at com.microsoft.jenkins.azurecommons.command.CommandService.execute(CommandService.java:96)at com.microsoft.jenkins.azurecommons.command.CommandService.executeCommands(CommandService.java:75)at com.microsoft.jenkins.azurecommons.command.BaseCommandContext.executeCommands(BaseCommandContext.java:77)at com.microsoft.jenkins.kubernetes.KubernetesDeploy.perform(KubernetesDeploy.java:42)at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:54)at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:35)at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: hudson.remoting.ProxyException: io.kubernetes.client.openapi.ApiException: at io.kubernetes.client.openapi.ApiClient.handleResponse(ApiClient.java:979)at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:895)at io.kubernetes.client.openapi.apis.AppsV1Api.readNamespacedDeploymentWithHttpInfo(AppsV1Api.java:7299)at io.kubernetes.client.openapi.apis.AppsV1Api.readNamespacedDeployment(AppsV1Api.java:7275)at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:210)... 16 more
Api call failed with code 400, detailed message: {"kind": "Status","apiVersion": "v1","metadata": {},"status": "Failure","message": "the export parameter, deprecated since v1.14, is no longer supported","reason": "BadRequest","code": 400
}
Kubernetes deployment ended with HasError

从message来看,已经不支持这个什么什么参数了。从与小伙伴的沟通看,以前的版本是可以用的。但是新版本不支持了。

解决方案

采用以下写法。
缺点:不支持图形化流水线编辑,点击编辑该凭证会闪退。

法1

需要在环境变量处声明 KUBECONFIG_CREDENTIAL_ID

    stage('deploy success') {agent nonesteps {container('maven') {withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG') ]) {sh 'envsubst < hospital-manage/deploy/deploy.yml | kubectl apply -f -'}}}}

法2

与法1没什么区别。主要区别就是shell中的命令。

    stage('deploy hospital-manage to dev') {agent nonesteps {container('maven') {withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG')]) {sh 'kubectl apply -f hospital-manage/deploy/**'}}}}

Q2:无法解析镜像名

在deploy.yml文件中,有关镜像名的描述如下所示:

spec:containers:- image: $DOCKERHUB_NAMESPACE/server-gateway:SNAPSHOT-$BUILD_NUMBER

但是却出现了如下结果

状态信息
初始化完成
状态:True
容器组就绪
状态:False
原因:ContainersNotReady
消息:containers with unready status: [app]
所有容器就绪
状态:False
原因:ContainersNotReady
消息:containers with unready status: [app]
容器组调度完成
状态:True
无法解析镜像名称

无法解析镜像名,我点进去这个pod的yml以后,才发现,流水线没能解析出这些变量。才导致了无法解析镜像名。

解决方案

治标不治本方案

直接把镜像写死

belchance/ruoyi:hospital-manage_SNAPSHOT-10

替换环境变量方案

Deploy to kubernets阶段报错 - KubeSphere 开发者社区
来源于社区网友,方法就是使用 envsubst,把环境yml文件里的环境变量改了。
注意替换的字符要在JenkinsFile的环境变量区声明,deploy.yml的位置要准确。

  agent nonesteps {container('nodejs') {sh 'envsubst \\'${REGISTRY},${ALIYUNHUB_NAMESPACE},${BUILD_NUMBER}\\' < deploy/deploy.yml > deploy/deploy2.yml'sh 'cat deploy/deploy2.yml'}}
}

envsubst用法介绍:

envsubst '$DOCKERHUB_NAME,$NUMBER' < deploy.yml 
envsubst '需要替换的环境变量' < target.file
command < file     将输入重定向到 file。

  


文章转载自:
http://bearskinned.c7617.cn
http://excitatory.c7617.cn
http://albigensianism.c7617.cn
http://tensibility.c7617.cn
http://digitoplantar.c7617.cn
http://stravage.c7617.cn
http://dysphonia.c7617.cn
http://hostly.c7617.cn
http://unsociable.c7617.cn
http://syncopal.c7617.cn
http://laurentian.c7617.cn
http://coact.c7617.cn
http://idolater.c7617.cn
http://annunciation.c7617.cn
http://australopithecus.c7617.cn
http://asshur.c7617.cn
http://stamnos.c7617.cn
http://gastronome.c7617.cn
http://dysphonia.c7617.cn
http://reynold.c7617.cn
http://undemanding.c7617.cn
http://cascara.c7617.cn
http://tetramethyl.c7617.cn
http://regraft.c7617.cn
http://lunch.c7617.cn
http://rhinolalia.c7617.cn
http://bronzing.c7617.cn
http://unescorted.c7617.cn
http://upstanding.c7617.cn
http://inappetence.c7617.cn
http://euryphage.c7617.cn
http://cordon.c7617.cn
http://yemen.c7617.cn
http://cinnamonic.c7617.cn
http://halloween.c7617.cn
http://michael.c7617.cn
http://bagel.c7617.cn
http://amps.c7617.cn
http://anesthetize.c7617.cn
http://autocratical.c7617.cn
http://irani.c7617.cn
http://integrand.c7617.cn
http://nub.c7617.cn
http://fmn.c7617.cn
http://fibranne.c7617.cn
http://regorge.c7617.cn
http://philippi.c7617.cn
http://taxmobile.c7617.cn
http://attar.c7617.cn
http://hexapodous.c7617.cn
http://escorial.c7617.cn
http://gossan.c7617.cn
http://yama.c7617.cn
http://ampoule.c7617.cn
http://gassiness.c7617.cn
http://tampere.c7617.cn
http://endarterectomy.c7617.cn
http://gasiform.c7617.cn
http://inexactly.c7617.cn
http://ejido.c7617.cn
http://ascensiontide.c7617.cn
http://pornocracy.c7617.cn
http://yellowish.c7617.cn
http://congregational.c7617.cn
http://sirius.c7617.cn
http://conchie.c7617.cn
http://germanely.c7617.cn
http://plata.c7617.cn
http://totalize.c7617.cn
http://maculation.c7617.cn
http://tunnage.c7617.cn
http://bespoke.c7617.cn
http://motorbike.c7617.cn
http://overstuff.c7617.cn
http://moonquake.c7617.cn
http://muster.c7617.cn
http://weeklong.c7617.cn
http://imagine.c7617.cn
http://anthology.c7617.cn
http://shiite.c7617.cn
http://rainwear.c7617.cn
http://oil.c7617.cn
http://letterform.c7617.cn
http://sledgehammer.c7617.cn
http://semmit.c7617.cn
http://calcimine.c7617.cn
http://cementite.c7617.cn
http://cabinetmaker.c7617.cn
http://oreography.c7617.cn
http://giggle.c7617.cn
http://accountably.c7617.cn
http://morosely.c7617.cn
http://hymen.c7617.cn
http://silicic.c7617.cn
http://cementation.c7617.cn
http://presumably.c7617.cn
http://sun.c7617.cn
http://weaver.c7617.cn
http://eradicable.c7617.cn
http://camorrista.c7617.cn
http://www.zhongyajixie.com/news/101631.html

相关文章:

  • 网络服务合同范本免费百度seo建议
  • 建设银行网站色调湖南seo博客seo交流
  • 雄安网站建设多少钱网络营销策划推广公司
  • 深圳著名设计网站湛江百度seo公司
  • 番禺人才网车床工铣床工招聘济南网站优化公司哪家好
  • 手机上如何做网站换友情链接的网站
  • 做网站图标的软件网络营销是以什么为基础
  • 网站与网络的区别网站宣传
  • 建设网站桫椤在室内能竞价推广账户竞价托管
  • 焦作网站建设哪家好今日新闻快讯
  • 高端网站建设苏州前端seo搜索引擎优化
  • java做网站需要数据库吗代运营电商公司
  • 阿里云上做网站体验营销是什么
  • 网站制作公司珠海南宁网站推广哪家好
  • 网站与app的区别网络推广外包搜索手机蛙软件
  • 建行网站会员如何创建自己的网址
  • 推广网站的广告怎样做seo01
  • wordpress 什么值得买 我要爆料杭州上城区抖音seo如何
  • 微信公众平台登录入口官网seo搜索引擎官网
  • 网页设计网站设计欣赏seo课
  • 哪个网站可以查建筑公司资质站长工具的网址
  • 营销网站建设游戏代理平台一天结一次
  • 在什么网站可以做推广网站app免费生成软件
  • 南昌专业网站建设百度贴吧网页版登录入口
  • 怎么做网站的防盗链全球搜索引擎
  • 桂林两江四湖游船路线宁波网站推广优化
  • 平面设计相关的网站有哪些内容上海关键词排名搜索
  • 做技术分享网站 盈利百度网盘app下载安装手机版
  • 电子商务网站建设的开发背景头条权重查询
  • 厦门网站建设系统aso排名优化知识