KubeSphere是在 Kubernetes 之上构建的企业级分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。
[阅读全文]Drone 结合 Helm 部署 Kubernetes 应用
基于 Drone 的 CI/CD(三)
本文是 Drone 系列文章的第三篇,在第一篇文章中我们介绍了如何在 Kubernetes 集群中使用 Helm 来快速安装 Drone,并且用 cert-manager 给 Drone 应用做了自动化 HTTPS,在第二篇文章中我们介绍了如何在 Drone 中使用 Pipeline 来自动化构建 Docker 镜像
本文我们将创建一个 Helm Chart 包,然后使用 Drone Pipeline 来进行自动部署或更新应用到 Kubernetes 集群中。
如果对 Helm 如何部署应用还不熟悉的,同样的,可以查看我们前面的 Helm 系列文章
[阅读全文]使用 Drone Pipeline 构建 Docker 镜像
基于 Drone 的 CI/CD(二)
本文是 Drone 系列文章的第二篇,在第一篇文章中我们介绍了如何在 Kubernetes 集群中使用 Helm 来快速安装 Drone,并且用 cert-manager 给 Drone 应用做了自动化 HTTPS。
本文我们将创建一个简单的 Golang 应用,通过 Drone 的 Pipeline 来自动化构建 Docker 镜像。
[阅读全文]使用 Kubernetes Helm 安装 Drone
基于 Drone 的 CI/CD(一)
基于 Jenkins、Gitlab、Harbor、Helm 和 Kubernetes 的 CI/CD(二)
上节课我们完成了最基本的流水线流程,接下来的工作就是来实现之前的具体 Pipeline 脚本了。
[阅读全文]基于 Jenkins、Gitlab、Harbor、Helm 和 Kubernetes 的 CI/CD(一)
上节课和大家介绍了Gitlab CI
结合Kubernetes
进行 CI/CD 的完整过程。这节课结合前面所学的知识点给大家介绍一个完整的示例:使用 Jenkins + Gitlab + Harbor + Helm + Kubernetes 来实现一个完整的 CI/CD 流水线作业。
其实前面的课程中我们就已经学习了 Jenkins Pipeline 与 Kubernetes 的完美结合,我们利用 Kubernetes 来动态运行 Jenkins 的 Slave 节点,可以和好的来解决传统的 Jenkins Slave 浪费大量资源的缺点。之前的示例中我们是将项目放置在 Github 仓库上的,将 Docker 镜像推送到了 Docker Hub,这节课我们来结合我们前面学习的知识点来综合运用下,使用 Jenkins、Gitlab、Harbor、Helm、Kubernetes 来实现一个完整的持续集成和持续部署的流水线作业。
[阅读全文]Gitlab CI 与 Kubernetes 的结合
基于 Gitlab CI 和 Kubernetes 的 CI/CD
上节课我们将 Gitlab CI Runner 安装到了 Kubernetes 集群中,接下来看看如何结合 Kubernetes 和 Gitlab CI 进行持续集成和持续部署。
[阅读全文]在 Kubernetes 上安装 Gitlab CI Runner
Gitlab CI 基本概念以及 Runner 的安装
上节课我们使用 Helm 快速的将 Gitlab 安装到了我们的 Kubernetes 集群中,这节课来和大家介绍如何使用 Gitlab CI 来做持续集成,首先先给大家介绍一些关于 Gitlab CI 的一些基本概念,以及如何在 Kubernetes 上安装 Gitlab CI Runner。
[阅读全文]在 Kubernetes 上安装 Gitlab
Gitlab
官方提供了 Helm 的方式在 Kubernetes 集群中来快速安装,但是在使用的过程中发现 Helm 提供的 Chart 包中有很多其他额外的配置,所以我们这里使用自定义的方式来安装,也就是自己来定义一些资源清单文件。
Gitlab
主要涉及到3个应用:Redis、Postgresql、Gitlab 核心程序,实际上我们只要将这3个应用分别启动起来,然后加上对应的配置就可以很方便的安装 Gitlab 了,我们这里选择使用的镜像不是官方的,而是 Gitlab 容器化中使用非常多的一个第三方镜像:sameersbn/gitlab
,基本上和官方保持同步更新,地址:http://www.damagehead.com/docker-gitlab/
Jenkins Blue Ocean 的使用
基于 Jenkins 的 CI/CD(三)
上节课我们讲解了使用Jenkins Pipeline
来自动化部署一个Kubernetes
应用的方法,在实际的项目中,往往一个代码仓库都会有很多分支的,比如开发、测试、线上这些分支都是分开的,一般情况下开发或者测试的分支我们希望提交代码后就直接进行CI/CD
操作,而线上的话最好增加一个人工干预的步骤,这就需要Jenkins
对代码仓库有多分支的支持,当然这个特性是被Jenkins
支持的。
Jenkins Pipeline 部署 Kubernetes 应用(二)
基于 Jenkins 的 CI/CD
上节课我们实现了在Kubernetes
环境中动态生成Jenkins Slave
的方法,这节课我们来给大家讲解下如何在 Jenkins 中来部署一个 Kubernetes 应用。
基于 kubernetes 的动态 jenkins slave
基于 Jenkins 的 CI/CD(一)
前面的课程中我们学习了持久化数据存储在Kubernetes
中的使用方法,其实接下来按照我们的课程进度来说应该是讲解服务发现这一部分的内容的,但是最近有很多同学要求我先讲解下 CI/CD 这块的内容,所以我们先把这块内容提前来讲解了。提到基于Kubernete
的CI/CD
,可以使用的工具有很多,比如Jenkins
、Gitlab CI
已经新兴的drone
之类的,我们这里会使用大家最为熟悉的Jenkins
来做CI/CD
的工具。