欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【K8s】第一次部署项目

程序员文章站 2024-01-15 19:47:28
...

慵懒的早上,躺着浏览这个各种视频,想着去看牙齿呢还是去公司呢
现在我已经在公司了(与前端联调结束了) w(゚Д゚)w


吭,正题,在部署时候遇到一些问题,阻塞一天,so,记录下吧


我司用的是:k8s、jenkins、阿里云Git

一、步骤


(1)在应用中心 创建应用

这个应用中心是运维搭建

用于管理应用和连接 jenkins
【K8s】第一次部署项目




(2)查看应用详情

【K8s】第一次部署项目




(3)查看部署连接

1. 查看 jenkins 任务

查看是否构建,若无构建,则手动构建
【K8s】第一次部署项目

2. 查看 k8s 部署

当 jenkins clone codecopy dickerfilemaven packagebuild and push docker image 完成后

会有对应的 podsservice

每次 jenkins构建(代码 push)时候,要重启 k8s(即,删除对应的 pods)

【K8s】第一次部署项目

3. k8s service 更改端口

【K8s】第一次部署项目
【K8s】第一次部署项目

更改 nodePort, 即可更改对外开放的端口

【K8s】第一次部署项目

4. 可进控制台查看

【K8s】第一次部署项目

在控制台中查找,或者。。。




(4)在 阿里云 Git 中添加 jenkins 的 hook

这样每次更新代码,jenkins能监测到,从而自动构建




二、遇到的问题


(1)jenkins 无法 clone code

这是因为没有权限,有两种方法:
1. 找运维,把 jenkins 配置改下
2. 在 阿里云项目 中添加成员,我添加我们 项目组 为 develop 进我的项目


(2)jenkins 构建成功,但 k8s 上 pods 构建失败

maven 打包配置错误 (可能打包时候,少了构建 jar 包;可能应用启动错误,即找到启动类)

我碰见的是:
pom.xml 配置错误,导致找不到对应的 Application

<mainClass>com.donaldy.Application</mainClass>


                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.4</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                                <mainClass>com.donaldy.Application</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>


(3)k8s pods 不断重启

原因:
代码有错误,(这种错误 在 jenkins 构建时候无影响,但在项目启动时候出现)

我遇到的是:
因为代码没更新,读的配置文件没有配置数据源,而导致项目启动不了。




三、感受


  • 一开始用的时候,哇,好神奇啊,真是好东西,运维真厉害,想多去了解些。
  • 后来,遇到这几个问题,体验感下降
  • 再后来,等 k8s 上应用启动,有时候要 200s,好浪费时间啊。。。
  • 再再再后来,听 同事说 这个时间貌似跟对应语言有关系,Java慢些,Go 很快的。。。( ̄□ ̄||)
  • 总的来说,好东西,但要多多学习。
相关标签: k8s