Serverless Kubernetes容器服务中快速部署jenkins环境及执行流水线构建

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 本文主要演示如何在阿里云Serverless Kubernetes服务上快速搭建jenkins持续集成环境,并基于提供的示例应用快速完成应用源码编译、镜像构建和推送以及应用部署的流水线。

本文主要演示如何在阿里云Serverless Kubernetes服务上快速搭建jenkins持续集成环境,并基于提供的示例应用快速完成应用源码编译、镜像构建和推送以及应用部署的流水线。


前置条件

您已经创建了ACK Serverless Kubernetes集群。


快速部署Jenkins on ASK

部署jenkins:

$ git clone https://github.com/AliyunContainerService/jenkins-on-serverless.git
$ cd jenkins-on-serverless


在部署之前,您还需要创建一个NAS共享存储卷(参考https://help.aliyun.com/document_detail/189293.html)来保存/var/jenkins_home下的数据,目标jenkins master pod重启后配置丢失。使用NAS共享存储卷修改serverless-k8s-jenkins-deploy.yaml中注释部分字段:


```

       #volumeMounts:

       #  - mountPath: /var/jenkins_home

       #    name: jenkins-home

     .....

     #volumes:

     #  - name: jenkins-home

     #    nfs:

     #      path: /

     #      server:

```


部署:

$ kubectl apply -f serverless-k8s-jenkins-deploy.yaml

查看jenkins服务访问地址:

image.png

通过以下命令可以查看初始化密码,默认用户名是admin:

image.png

登录jenkins:

image.png

点击安装推荐的插件:

image.png

image.png

创建管理员账户:

image.png

保存并完成配置:

image.png

在Jenkins首页点击 Configure a cloud 继续配置连接Kubernetes集群用于动态分配构建节点:

image.png

点击Go to plugins manager:

image.png

选择Kubernetes插件并点击Download now and install after restart:

image.png

等待插件下载完毕并自动重启(页面显示的安装进度有问题,可以直接访问Jenkins首页查看是否跳转至登录页面):

image.png

重新登录Jenkins:

image.png

继续配置Kubernetes集群:

image.png

Kubernetes 地址: https://kubernetes.default.svc:443

禁用 HTTPS 证书检查: 勾选

命名空间: 自定义,动态生成的slave pod运行在指定的命名空间下,如default

凭据:参考“如何创建连接ASK集群的凭证”

Jenkins地址和通道配置: 参考 “如何配置jenkins地址和jenkins通道

Pod Template配置: 参考https://developer.aliyun.com/article/783848


如何创建连接ASK集群的凭证

获取token连接kubernetes集群:

$ kubectl get secret
NAME                         TYPE                                  DATA   AGE
ack-jenkins-sa-token-q9g6v   kubernetes.io/service-account-token   3      28m
default-token-bn9zr          kubernetes.io/service-account-token   3      27h
$ kubectl get secret ack-jenkins-sa-token-q9g6v -o jsonpath={.data.token} |base64 -d
xxxxxxxxxxxxxxxx

创建Secret Text类型凭证,Secret内容为xxxxxxxxxxxxxxxx,名字自定义,本示例为ask-jenkins-token

image.png

在系统管理->系统配置->Kubernetes cloud云中继续配置Kubernetes地址,选择凭据ask-jenkins-token,点击连接测试验证连接是否正常

image.png

如何配置jenkins地址和jenkins通道

image.png

点击保存。



如何挂载maven缓存、如何为kaniko推送容器镜像设置权限等问题请参考:https://developer.aliyun.com/article/783848

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
20天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
107 60
|
21天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
123 62
|
5天前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
本文介绍了Docker和Kubernetes在构建高效微服务架构中的应用,涵盖基本概念、在微服务架构中的作用及其实现方法。通过具体实例,如用户服务、商品服务和订单服务,展示了如何利用Docker和Kubernetes实现服务的打包、部署、扩展及管理,确保微服务架构的稳定性和可靠性。
33 7
|
4天前
|
Kubernetes 负载均衡 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【10月更文挑战第22天】随着云计算和容器技术的快速发展,微服务架构逐渐成为现代企业级应用的首选架构。微服务架构将一个大型应用程序拆分为多个小型、独立的服务,每个服务负责完成一个特定的功能。这种架构具有灵活性、可扩展性和易于维护的特点。在构建微服务架构时,Docker和Kubernetes是两个不可或缺的工具,它们可以完美搭档,为微服务架构提供高效的支持。本文将从三个方面探讨Docker和Kubernetes在构建高效微服务架构中的应用:一是Docker和Kubernetes的基本概念;二是它们在微服务架构中的作用;三是通过实例讲解如何使用Docker和Kubernetes构建微服务架构。
25 6
|
28天前
|
Prometheus Kubernetes 监控
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
k8s学习--kubernetes服务自动伸缩之水平伸缩(pod副本伸缩)HPA详细解释与案例应用
|
26天前
|
负载均衡 Kubernetes 区块链
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
随机密码生成器+阿里k8s负载均衡型服务加证书方法+移动终端设计+ico生成器等
47 1
|
28天前
|
Kubernetes 应用服务中间件 nginx
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
|
28天前
|
Kubernetes 监控 调度
k8s学习--kubernetes服务自动伸缩之垂直伸缩(资源伸缩)VPA详细解释与安装
k8s学习--kubernetes服务自动伸缩之垂直伸缩(资源伸缩)VPA详细解释与安装
|
28天前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
105 1
|
2月前
|
Kubernetes Docker 微服务
构建高效的微服务架构:基于Docker和Kubernetes的最佳实践
在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛青睐。本文探讨了如何利用Docker和Kubernetes来构建高效的微服务架构。我们将深入分析Docker容器的优势、Kubernetes的编排能力,以及它们如何结合实现高可用性、自动扩展和持续部署。通过具体的最佳实践和实际案例,读者将能够理解如何优化微服务的管理和部署过程,从而提高开发效率和系统稳定性。

热门文章

最新文章

相关产品

  • 函数计算