云原生应用持续交付入门:基于云效部署java应用到kubernetes集群 |
您所在的位置:网站首页 › 推送镜像到harborapi延时 › 云原生应用持续交付入门:基于云效部署java应用到kubernetes集群 |
背景知识 一般来说,使用K8S部署场景如下: 对源代码进行一定的质量检测,例如单元测试、代码扫描等。将源代码构建成为可交付的制品,也就是容器镜像。对制品进行测试环境验证。使用完成验证的制品进行线上部署。使用基础设施即代码的方式,在代码库中管理与应用相关的所有YAML文件。上述活动需要有不同角色的参与:开发、测试、运维。如何保证不同参与者可以使用统一的交付流程来进行协作,是云效Flow交付流水线要解决的主要问题。 通过云效持续交付流水线和kubernetes很好的结合在一起,为应用的持续交付提供了很好的基础保障。 其中,在构建完之后,生成Docker镜像,并自动上传至应用镜像仓库,在部署阶段时,获取当前流水线实例构建出来的镜像版本,通过kubernetes进行容器编排部署。而这一切,都是通过自动化的手段进行完成。 导入示例源代码1.前往:云效代码管理Codeup 超链接: https://codeup.aliyun.com?channel=yy_yc_flowlab 2.点击【导入代码库】
创建流水线之后会自动弹出添加代码源的窗口,选择Codeup,代码仓库选择前面我们导入的spring-boot 在配置云效流水线的镜像构建任务前,需要先创建容器镜像仓库,以便存储镜像。 如果您已有阿里云容器镜像仓库,本步骤可以省略。 前往:阿里云容器镜像服务台,选择【个人实例】
如下图,此处我们选择华东2(上海) 已有容器镜像仓库后,我们继续来配置云效流水线。 单击展开镜像构建并推送至阿里云镜像仓库,然后单击新建服务授权。同意授权之后,云效流水线Flow会被授予前面的阿里云镜像仓库权限。 在弹出的云资源授权页面单击同意授权。 注意:本步骤所有操作均需新建无痕窗口,并使用第一步创建好的阿里云RAM账号 1.打开浏览器的无痕模式窗口,浏览器地址栏输入 www.aliyun.com Goole Chrome浏览器打开无痕模式的快捷键为Ctrl/Cmd+Shift+N。2.使用左侧云产品资源列表中提供的子用户名称和子用户密码登录阿里云 https://cs.console.aliyun.com 可以看到,已成功为您创建一台ACK资源。如出现多台集群,参考云产品资源 k8s实例id
1.切回原来的云效流水线配置窗口, 单击kubernets发布任务,进入配置,然后单击新建连接。 *这样在运行时,云效Flow会把YAML路径下的所有文件中的${IMAGE}都替换成镜像的地址,然后再进行kubectl发布。示例代码库中的文件https://code.aliyun.com/flow-example/spring-boot/blob/master/app-configs/manifest-app/app.yaml的内容如下,所以其中的${IMAGE}就会被替换成实际的镜像地址。* *这样yaml文件中的${HOST}就会被替换成实际的测试地址。示例代码库中的文件https://code.aliyun.com/flow-example/spring-boot/blob/master/app-configs/manifest-app/ingress.yaml的内容如下,所以其中的${HOST}就会被替换成实际的测试地址。* 请参考以下步骤查询集群的测试域名: 返回之前打开的无痕窗口,在集群详情页,单击集群信息 > 基本信息,然后单击复制测试域名,如下图所示。 添加参数后的配置页面如下所示。 配置完成后,单击配置页面右上角保存并运行,触发流水线。 1.集群发布成功后,点击 Kubectl发布 查看集群发布日志,可以看到发布成功的HOSTS和ADDRESS地址。 因为我们在前面开启了代码源触发,所以当检测到master分支有代码进行变更,将会自动触发流水线的运行。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |