游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

运维(39)通过KubeSphere部署SpringBoot

  DevOps
  demo源码见:https:gitee。comzhengqingyajavaworkspace
  基于kubesphere3。2。1
  自动检出(Checkout)代码、测试、分析、构建、部署并发布
  在这里插入图片描述一、创建DevOps项目
  在这里插入图片描述
  在这里插入图片描述二、DevOps凭证1、gitee仓库认证giteeauth
  在这里插入图片描述2、阿里云docker仓库认证aliyundockerregistryauth
  在这里插入图片描述3、k8s凭证kubeconfigauthk8s权限配置文件catroot。kubeconfig
  在这里插入图片描述
  将内容中的https:lb。kubesphere。local:6443https:指定IP:6443,不然之后部署可能会出现问题。。。
  在这里插入图片描述
  最终
  在这里插入图片描述三、maven配置阿里云中央仓库
  平台管理集群管理default配置配置字典ksdevopsagent
  在这里插入图片描述
  编辑设置
  在这里插入图片描述mirrors!国内中央仓库的配置阿里云中央仓库mirroridnexusaliyunidmirrorOfcentralmirrorOfnameNexusaliyunnameurlhttp:maven。aliyun。comnexuscontentgroupspublicurlmirrormirrors
  在这里插入图片描述四、k8s项目配置阿里云docker仓库认证aliyundockerregistryauth
  在这里插入图片描述
  在这里插入图片描述
  在这里插入图片描述也可通过命令查看凭证kubectlgetsecretsnmyproject五、创建流水线
  在这里插入图片描述
  在这里插入图片描述
  进入后可以点击编辑流水线,提供了一些模板
  在这里插入图片描述
  ex:第一步拉取代码
  在这里插入图片描述
  这里自己点着玩吧,很简单。。。根据自己的需求去定制即可。。。
  在这里插入图片描述六、其它Jenkinsfilepipeline{agent{node{labelmaven}}environment{DOCKERREGISTRYAUTHaliyundockerregistryauthDOCKERREGISTRYregistry。cnhangzhou。aliyuncs。comDOCKERREGISTRYNAMESPACEzhengqingyaAPPDOCKERIMAGE{DOCKERREGISTRY}{DOCKERREGISTRYNAMESPACE}{APPNAME}:{BRANCHNAME}PROJECTGITURLhttps:gitee。comzhengqingyatest。gitAPPNAMEtestBRANCHNAMEmasterISSKIPBUILDfalseJAVAOPTSXX:UseG1GCXms100mXmx100mDserver。port8080}parameters{string(name:BRANCHNAME,defaultValue:master,description:git分支名)choice(name:ISSKIPBUILD,choices:〔false,true〕,description:是否跳过构建,直接部署)choice(name:SERVICENAMES,choices:〔test,system,all〕,description:请选择要构建的服务,支持单个服务发布或全部服务发布)}stages{stage(参数验证){agentnonesteps{container(maven){shecho分支:{BRANCHNAME}echo是否跳过构建,直接部署(tips:适用于之前已经进行过构建打包的情景):{ISSKIPBUILD}echoapp镜像:{APPDOCKERIMAGE}echo构建运行ID:{BUILDNUMBER}echoJAVAOPTS:{JAVAOPTS}}}}stage(拉取代码){agentnonesteps{container(maven){git(credentialsId:giteeauth,url:{PROJECTGITURL},branch:{BRANCHNAME},changelog:true,poll:false)shlsal}}}stage(项目编译){agentnonesteps{container(maven){shmvncleanpackageDmaven。test。skiptrueshlsal}}}stage(docker镜像构建推送){agentnonesteps{container(maven){shcptarget。jardockershcddockerlsechoapp镜像:{APPDOCKERIMAGE}dockerbuildfDockerfilet{APPDOCKERIMAGE}。nocachewithCredentials(〔usernamePassword(credentialsId:{DOCKERREGISTRYAUTH},passwordVariable:DOCKERPASSWORD,usernameVariable:DOCKERUSERNAME,)〕){shechoDOCKERPASSWORDdockerloginDOCKERREGISTRYuDOCKERUSERNAMEpasswordstdinshdockerpush{APPDOCKERIMAGE}shecho镜像推送成功:{APPDOCKERIMAGE}shlsal}}}}stage(发布到k8s){agentnonesteps{container(maven){shlsalwithCredentials(〔kubeconfigFile(credentialsId:kubeconfigauth,variable:KUBECONFIG)〕){envsubst:将相关参数传给该yml文件shenvsubstk8sk8sdeploy。ymlkubectlapplyf}}}}}}k8sdeploy。yml定义工作负载apiVersion:appsv1kind:Deployment无状态部署metadata:name:{APPNAME}namespace:myprojectTODO命名空间labels:app:{APPNAME}spec:replicas:3TODO3个副本strategy:rollingUpdate:由于replicas为3,则整个升级,pod个数在24个之间maxSurge:1滚动升级时会先启动1个podmaxUnavailable:1滚动升级时允许的最大Unavailable的pod个数selector:matchLabels:app:{APPNAME}template:metadata:labels:app:{APPNAME}spec:imagePullSecrets:name:aliyundockerregistryauthTODO提前在项目下配置访问阿里云仓库的账号密码containers:name:{APPNAME}image:{APPDOCKERIMAGE}TODO镜像地址imagePullPolicy:Alwaysenv:环境变量name:JAVAOPTSvalue:{JAVAOPTS}ports:name:httpcontainerPort:8080protocol:TCPCPU内存限制resources:limits:cpu:300mmemory:600Mi就绪探针readinessProbe:httpGet:path:actuatorhealthport:8080timeoutSeconds:10failureThreshold:30periodSeconds:5定义服务apiVersion:v1kind:Servicemetadata:name:{APPNAME}TODO服务名namespace:myprojectTODO命名空间spec:selector:app:{APPNAME}TODOlabelselector配置,将选择具有label标签的Pod作为管理type:ClusterIP访问方式ClusterIPNodePortports:name:http端口名称port:8080protocol:TCP端口协议,支持TCP和UDP,默认TCPtargetPort:8080nodePort:666TODO当typeNodePort时对外开放端口sessionAffinity:None是否支持sessionk8syaml在线编写工具https:k8syaml。com报错ERROR:java。lang。RuntimeException:io。kubernetes。client。openapi。ApiException:java。net。UnknownHostException:lb。kubesphere。local:Nameorservicenotknown
  在这里插入图片描述DeploytoKubernetes14。66s失败StartingKubernetesdeploymentLoadingconfiguration:homejenkinsagentworkspacedevopstestp5hshtestk8sk8sdeploy。ymlERROR:ERROR:java。lang。RuntimeException:io。kubernetes。client。openapi。ApiException:java。net。UnknownHostException:lb。kubesphere。local:Nameorservicenotknownhudson。remoting。ProxyException:java。lang。RuntimeException:io。kubernetes。client。openapi。ApiException:java。net。UnknownHostException:lb。kubesphere。local:Nameorservicenotknownatcom。microsoft。jenkins。kubernetes。wrapper。ResourceManager。handleApiExceptionExceptNotFound(ResourceManager。java:180)atcom。microsoft。jenkins。kubernetes。wrapper。V1ResourceManagerDeploymentUpdater。getCurrentResource(V1ResourceManager。java:213)atcom。microsoft。jenkins。kubernetes。wrapper。V1ResourceManagerDeploymentUpdater。getCurrentResource(V1ResourceManager。java:201)atcom。microsoft。jenkins。kubernetes。wrapper。ResourceManagerResourceUpdater。createOrApply(ResourceManager。java:93)atcom。microsoft。jenkins。kubernetes。wrapper。KubernetesClientWrapper。handleResource(KubernetesClientWrapper。java:289)atcom。microsoft。jenkins。kubernetes。wrapper。KubernetesClientWrapper。apply(KubernetesClientWrapper。java:256)atcom。microsoft。jenkins。kubernetes。command。DeploymentCommandDeploymentTask。doCall(DeploymentCommand。java:172)atcom。microsoft。jenkins。kubernetes。command。DeploymentCommandDeploymentTask。call(DeploymentCommand。java:124)atcom。microsoft。jenkins。kubernetes。command。DeploymentCommandDeploymentTask。call(DeploymentCommand。java:106)athudson。remoting。UserRequest。perform(UserRequest。java:212)athudson。remoting。UserRequest。perform(UserRequest。java:54)athudson。remoting。Request2。run(Request。java:369)athudson。remoting。InterceptingExecutorService1。call(InterceptingExecutorService。java:72)atjava。util。concurrent。FutureTask。run(FutureTask。java:266)atjava。util。concurrent。ThreadPoolExecutor。runWorker(ThreadPoolExecutor。java:1149)atjava。util。concurrent。ThreadPoolExecutorWorker。run(ThreadPoolExecutor。java:624)athudson。remoting。Engine1。lambdanewThread0(Engine。java:93)atjava。lang。Thread。run(Thread。java:748)Suppressed:hudson。remoting。ChannelCallSiteStackTrace:RemotecalltoJNLP4connectconnectionfrom10。233。70。14310。233。70。143:51962athudson。remoting。Channel。attachCallSiteStackTrace(Channel。java:1800)athudson。remoting。UserRequestExceptionResponse。retrieve(UserRequest。java:357)athudson。remoting。Channel。call(Channel。java:1001)athudson。FilePath。act(FilePath。java:1160)atcom。microsoft。jenkins。kubernetes。command。DeploymentCommand。execute(DeploymentCommand。java:68)atcom。microsoft。jenkins。kubernetes。command。DeploymentCommand。execute(DeploymentCommand。java:45)atcom。microsoft。jenkins。azurecommons。command。CommandService。runCommand(CommandService。java:88)atcom。microsoft。jenkins。azurecommons。command。CommandService。execute(CommandService。java:96)atcom。microsoft。jenkins。azurecommons。command。CommandService。executeCommands(CommandService。java:75)atcom。microsoft。jenkins。azurecommons。command。BaseCommandContext。executeCommands(BaseCommandContext。java:77)atcom。microsoft。jenkins。kubernetes。KubernetesDeploy。perform(KubernetesDeploy。java:42)atcom。microsoft。jenkins。azurecommons。command。SimpleBuildStepExecution。run(SimpleBuildStepExecution。java:54)atcom。microsoft。jenkins。azurecommons。command。SimpleBuildStepExecution。run(SimpleBuildStepExecution。java:35)atorg。jenkinsci。plugins。workflow。steps。SynchronousNonBlockingStepExecution。lambdastart0(SynchronousNonBlockingStepExecution。java:47)atjava。util。concurrent。ExecutorsRunnableAdapter。call(Executors。java:511)atjava。util。concurrent。FutureTask。run(FutureTask。java:266)atjava。util。concurrent。ThreadPoolExecutor。runWorker(ThreadPoolExecutor。java:1149)atjava。util。concurrent。ThreadPoolExecutorWorker。run(ThreadPoolExecutor。java:624)。。。1moreCausedby:hudson。remoting。ProxyException:io。kubernetes。client。openapi。ApiException:java。net。UnknownHostException:lb。kubesphere。local:Nameorservicenotknownatio。kubernetes。client。openapi。ApiClient。execute(ApiClient。java:898)atio。kubernetes。client。openapi。apis。AppsV1Api。readNamespacedDeploymentWithHttpInfo(AppsV1Api。java:7299)atio。kubernetes。client。openapi。apis。AppsV1Api。readNamespacedDeployment(AppsV1Api。java:7275)atcom。microsoft。jenkins。kubernetes。wrapper。V1ResourceManagerDeploymentUpdater。getCurrentResource(V1ResourceManager。java:210)。。。16moreCausedby:hudson。remoting。ProxyException:java。net。UnknownHostException:lb。kubesphere。local:Nameorservicenotknownatjava。net。Inet4AddressImpl。lookupAllHostAddr(NativeMethod)atjava。net。InetAddress2。lookupAllHostAddr(InetAddress。java:929)atjava。net。InetAddress。getAddressesFromNameService(InetAddress。java:1324)atjava。net。InetAddress。getAllByName0(InetAddress。java:1277)atjava。net。InetAddress。getAllByName(InetAddress。java:1193)atjava。net。InetAddress。getAllByName(InetAddress。java:1127)atokhttp3。Dns。lambdastatic0(Dns。java:39)atokhttp3。internal。connection。RouteSelector。resetNextInetSocketAddress(RouteSelector。java:171)atokhttp3。internal。connection。RouteSelector。nextProxy(RouteSelector。java:135)atokhttp3。internal。connection。RouteSelector。next(RouteSelector。java:84)atokhttp3。internal。connection。ExchangeFinder。findConnection(ExchangeFinder。java:187)atokhttp3。internal。connection。ExchangeFinder。findHealthyConnection(ExchangeFinder。java:108)atokhttp3。internal。connection。ExchangeFinder。find(ExchangeFinder。java:88)atokhttp3。internal。connection。Transmitter。newExchange(Transmitter。java:169)atokhttp3。internal。connection。ConnectInterceptor。intercept(ConnectInterceptor。java:41)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:142)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:117)atokhttp3。internal。cache。CacheInterceptor。intercept(CacheInterceptor。java:94)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:142)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:117)atokhttp3。internal。http。BridgeInterceptor。intercept(BridgeInterceptor。java:93)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:142)atokhttp3。internal。http。RetryAndFollowUpInterceptor。intercept(RetryAndFollowUpInterceptor。java:88)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:142)atokhttp3。internal。http。RealInterceptorChain。proceed(RealInterceptorChain。java:117)atokhttp3。RealCall。getResponseWithInterceptorChain(RealCall。java:221)atokhttp3。RealCall。execute(RealCall。java:81)atio。kubernetes。client。openapi。ApiClient。execute(ApiClient。java:894)。。。19moreApicallfailedwithcode0,detailedmessage:nullKubernetesdeploymentendedwithHasError解决:
  kubesphere3。2。1流水线调整第一步:替换kubernetesDeploy部署方式
  https:github。comkubespherewebsitepull2098stage(发布到k8s){agentnonesteps{container(maven){废弃。。。kubernetesDeploy(enableConfigSubstitution:true,deleteResource:false,kubeconfigId:kubeconfigauth,configs:k8s)改为下面这种方式withCredentials(〔kubeconfigFile(credentialsId:kubeconfigauth,variable:KUBECONFIG)〕){envsubst:将相关参数传给该yml文件shenvsubstk8sk8sdeploy。ymlkubectlapplyf}}}}第二步:修改DevOps凭证kubeconfig
  将内容中的https:lb。kubesphere。local:6443https:指定IP:6443
  在这里插入图片描述
  最终发布成功
  在这里插入图片描述
  今日分享语句:天再高又怎样,踮起脚尖就更接近阳光。

陈亚男晒瑜伽照秀身材又翻车?网友丑小鸭变不成白天鹅陈亚男自从直播带货被关闭后,想尽各种方法,又是晒仓库又是换平台,但都没有什么效果。陈亚男无奈只能沉寂一段时间,网友都猜测她要退网了。但没想到陈亚男依旧不死心,直接把以前的视频全……常见的健康养生误区健康科普大赛1、饭后喝酸奶有助于消化,不正确,酸奶里没有可以促进胃蠕动的酶,有也很少早让胃酸消灭了。2、红枣,红糖不补血,含糖量比较高。3、趁热吃不应该,容易……特纳29分哈利伯顿1613步行者逆转黄蜂北京时间1月9日,NBA常规赛继续开打,黄蜂做客步行者,首节便先声夺人领先对手,步行者末节反扑打出90进攻高潮,一度将比分追平,最后时刻罗齐尔出现失误,哈利伯顿两罚全中,全场战……官宣!森林狼完成新签约,猛龙拒绝KD换巴恩斯,追梦表态德罗赞官宣!森林狼完成新签约,猛龙拒绝KD换巴恩斯,追梦表态德罗赞!素有地表最强175之称的小托马斯即便这些年在NBA流浪,但居无定所的他依旧坚持着自己的篮球梦!油箱里还有油的……尘埃落定!国足意大利无缘,FIFA驳回上诉,黑马留在世界杯卡塔尔世界杯已经越来越近,其中31支球队已经全力备战,而唯一有些提心吊胆的当属南美区的厄瓜多尔队。因为球员年龄造假问题,被智利对上诉至FIFA,所以很可能会出现被逐出世界杯的可……全方位支持新发展模式!中企三大旗舰项目助乌干达面貌一新来源:环球时报【环球时报赴乌干达特派记者黄培昭】英国前首相丘吉尔把乌干达称为非洲珍珠,那里资源富集、风光优美,仿佛一颗璀璨的珍珠悬挂在东非高原。同时,乌干达也是联合国公布……反焦虑方法我们的行为都是有大脑决定的。为什么焦虑,为什么反刍?那是大脑生病了,思维出错了。不要恐惧,不要担忧未来,不要想太多不要有负面的思想,远离负能量。也就是日常生活中要分……痘痘肌必吃的排毒水果1、圣女果(改善痘印)含有丰富的维生素A、C,可以增强皮肤黏膜的代谢率,还能减少黑色素的形成,改善痘印2、西柚(毛孔排毒)西柚中含有宝贵的维生素P和丰富……基金白酒要不要止盈我的白酒是买的C,持有收益率为31。31,浮盈1万8千多元,现在可以止盈了吗?今天没动;新能源坐了几回过山车没止盈,最高时涨到浮盈三万多,2022年初俄乌冲突跌下来,7月份涨到……离谱!华为Mate40Pro官翻版发布,售价6K起手机在过去几年当中,苹果、三星高端机推出官翻版,并且在全球上架,某一些程度上给了用户更多选择?不过官翻版的手机价格已经高于第三方渠道,对于一些用户来说吸引力并不大,因为不在乎价……长寿老人的秘诀是什么?这4个习惯你有吗?吃得好:营养均衡吃饭七分饱在《黄帝内经》中有饮食自倍,肠胃乃伤的记载,意思是如果摄入的食物过多,就会加重肠胃的负担,影响人体的消化和吸收功能,从而导致消化不良,产生腹胀、……丁威迪东契奇伤退后我努力主宰比赛他还年轻会好起来的直播吧1月27日讯NBA常规赛,独行侠9995力克太阳。赛后接受采访时,丁威迪说道:卢卡伤退不能成为我们的理由,他还年轻,他会好起来的。他老练的打法让很多人产生了他已不再……
考驾照五次不过怎么办?重新报考能选其他驾校么?如果是老司机因为某种原因驾照吊销,可以重新报驾校;如果是新手第一次学驾照五次不过,那就没必要了。取得驾照以后就可以在马路上正常开车了,每个驾驶员都道路交通安全的参与者,都……全国各地的二手车都有什么说道?水都深,找熟人或者专门鉴定的机构帮你看看。现在二手车贬值很快,很多人都在考虑买一台二手车,但是二手车的水很深,如果对二手车不了解的建议不要购买。如果由于个人原因必须要买二……原神2。4的玩法很新颖?烟花爆竹的运用,将变得非常关键随着时间的不断流逝,原神2。4版本的直播前瞻,也是正式上线了,相信很多玩家,都在第一时间前去观看,不得不说,内容确实比较丰富,不光有四位五星角色任人挑选,还有众多新颖的活动,就……为什么出租车可以跑一两百万公里,而家里的汽车只跑三四十万?我是一名资深出租车司机,我来解答你的问题。我们都知道全国的出租车普遍车型都在十万以下,随便一辆私家车都能比上出租车,为什么私家车跑个一二十万公里就不行了,出租车跑一百万公……黄斑病变不可逆三个习惯可预防眼睛的黄斑是位于视网膜后极部的椭圆形区域,是视细胞聚集的中心,直径约13毫米。黄斑虽小,但它决定了人的中心视力,黄斑区只要有微小的改变,就会影响到中心视力,给我们的工作、……请问投资一个混凝土搅拌站费用是多少?地要钱不?如果地不要钱可以省一笔!罐车三一的比中联的好,三一用的日野底盘,大概50万一辆,生产线一(180)大概就是在200万左右一条,一般都是建设两条,400万,罐车最少得两……为什么比亚迪不像蔚来建设换电站或类似特斯拉的超级充电站?一、换电模式是没有前途的。这也是比亚迪和蔚来的区别,不谈技术底蕴,两家车企的目的不一样,蔚来是为了卖车,为了销量,说不好听点,是为了要活下去。而比亚迪,已经过了活下去的那……要在唐山市买房,请问有什么平台能提供房源信息吗?首推贝壳旗下的诚拓(直营)、德佑(加盟),一样的系统资源也一样,房源和价格全部都是真实的,安居客,58同城都是中介挂的假房源,低价吸引客户的,就和54万买奥迪R8是一个套路……计划11万以内落地的suv,有什么推荐?预算11万落地、想要SUV、我来给你推荐!这个落地价,还是选择国产吧!第一、比亚迪宋Pro2019款1。5T自动精英型指导价;9。98万,成交均价在9万左右,综合优……EA211发动机怎么样?EA211发动机是大众旗下新型汽车发动机。该系列发动机同时也是首款在四缸引擎上采用气缸关闭系统的发动机,在提升燃油经济性上有着明显的优势。全新的EA211系列发动机采用了……程愫花21年捧红傅程鹏,丈夫走红就离婚,5年后2人境遇天差地离婚之前,傅程鹏的人生很完美。妻子放弃自己的事业为他筹谋21年,生儿育女。事业进入高光时刻,演一部,红一部。儿子聪明伶俐。但傅程鹏的心里,总是愧疚的。……老了,你会去整容吗?最近,有个退休五年的大姐,常常感叹:老了,怕照镜子了,脸上皮肤松弛了,皱纹也多了,真是岁月不饶人啊!据说大姐年轻的时候长的还蛮好看的,皮肤保养的也不错,每当想起年轻时候的……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网