Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用 Helm 部署 Gitlab

使用 Helm 部署 Gitlab

作者头像
崔秀龙
发布于 2019-07-24 13:53:56
发布于 2019-07-24 13:53:56
6.4K10
代码可运行
举报
文章被收录于专栏:伪架构师伪架构师
运行总次数:0
代码可运行

先决条件

Kubernetes 中的安装,自然需要一个可以运行和管理的 Kubernetes 集群,首先创建一个 Namespace 用于 Gitlab 的安装运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ kubectl create ns gitlab
namespace/gitlab created
$ kubens gitlab
Context "mediumlab" modified.
Active namespace is "gitlab".

同时还要求该集群有如下能力:

  • 外网 Loadbalancer 支持
  • 镜像拉取
  • Helm 访问
  • StorageClass

Helm 仓库

Gitlab 官方提供了 Helm 仓库,添加地址之后就可以进行安装了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ helm repo add gitlab https://charts.gitlab.io/
"gitlab" has been added to your repositories

Helm 安装一般有两种方式:

  • helm install:需要集群端安装 Tiller,直接完成安装。
  • helm template:无需 Tiller 支持,用于生成最终的 YAML 安装文件。

这里为了使用方便,我们选择第二种,生成模板的方式。

TLS

为了提供 HTTPS 服务,不可避免的要使用 tls 的相关设置,Gitlab 给出了几个选项,本文使用两种:

自行提供泛域名证书

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...
...Successfully got an update from the "gitlab" chart repository
...Successfully got an update from the "stable" chart repository
$ helm fetch --untar gitlab/gitlab
$ helm template gitlab \
--namespace gitlab \
--name core \
--set global.edition=ce \
--set certmanager.install=false \
--set global.ingress.configureCertmanager=false \
--set global.ingress.tls.secretName=xyz \
--set global.hosts.domain=microservice.xyz \
--set gitlab-runner.install=false > gitlab-install.yaml

上面列出的几个开关,解释如下:

  • global.edition:Gitlab 分为 CE(社区版)和 EE(企业版)两个版本,这里仅涉及 CE 版本。
  • certmanager.install:使用固定证书,无需 certmanager
  • global.ingress.tls.secretName:不用 certmanger 配置 Ingress。
  • global.hosts.domain:主机域名,这里给出的是一个根域名,后续会生成形如 gitlab.microservice.xyzregistiry.microservice.xyz 形式的子域名。
  • gitlab-runner.install=false:后续步骤中会单独安装 runner。
  • global.ingress.tls.secretName=xyz:用于保存我们的泛域名证书。

cert-manager + letsencrypt

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ helm template gitlab \
--namespace gitlab \
--name core \
--set global.edition=ce \
--set global.hosts.domain=microservice.rocks \
--set certmanager-issuer.email="xampal@gmail.com" \
--set gitlab-runner.install=false

这个参数很简单:

  • global.hosts.domain:根域名。
  • certmanager-issuer.email:签发者证书。

安装

用上述命令生成的安装清单,使用 kubectl 即可完成安装。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ kubectl apply -f gitlab-le.yaml
...
poddisruptionbudget.policy/gitlab-gitaly created
poddisruptionbudget.policy/gitlab-gitlab-shell created
...

完成动作之后,可以通过 ingresspods 的情况查看启动情况:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ kubectl get ing -w
NAME            HOSTS                         ADDRESS   PORTS     AGE
core-minio      minio.microservice.rocks                80, 443   23s
core-registry   registry.microservice.rocks             80, 443   23s
core-unicorn    gitlab.microservice.rocks               80, 443   24s

启动完成应该有几个结果:

  • svc/Ingress 获得了地址。
  • Pod 运行。
  • PVC 全部绑定。

接下来就可以使用命令获取 root 密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ kubectl get secret core-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
O3ewqaXE...NjCTYVktYghmkodF0j1c

初始化

输入 SSH 公钥

浏览器打开 /profile/keys,在其中输入公钥内容。

关闭 Auto DevOps

浏览器打开 /admin/application_settings/ci_cd,取消其中的 Default to Auto DevOps pipeline for all projects

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 伪架构师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
关键操作发现gitlab-le.yaml文件没有
关键操作发现gitlab-le.yaml文件没有
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Kubernetes 集群使用 Helm 搭建 GitLab 并配置 Ingress
通过之前的文章 初试 Kubernetes 集群中使用 Helm 搭建 Spinnaker 平台 ,我们已经演示了如何通过 Helm 安装 Spinnaker 平台到本地 Kubernetes 集群中。本次演示环境,我依旧是在本机 MAC OS 上操作,以下是安装的软件及版本:
哎_小羊
2019/05/25
6.1K0
.NET DevOps 接入指南 | 1. GitLab 安装
容器、DevOps和微服务被称为驱动云原生快速发展的三架马车。而DevOps是其中非常重要的一环,DevOps 是由Developers(Dev)和Operations(Ops)两个单词简称组成,中文直译就是“开发运维一体化”。
圣杰
2023/12/29
2180
.NET DevOps 接入指南 | 1. GitLab 安装
(2 / 3)CentOS搭建K8s微服务20条
registry和image是修改镜像仓库和镜像名为阿里云的仓库(该仓库为个人用户仓库)。官方镜像国内网络基本拉取不下来,默认配置使用Deployment控制器,副本数为1。你可以修改为DaemonSet,每个节点部署一个pod,此处使用nodeSelector将ingress控制器固定在master上
老张的哲学
2023/01/09
2.3K0
在Kubernetes部署GitLab
在Kubernetes部署GitLab前置条件已安装Helm工具已部署NFS自动创建PVC使用HELM安装[root@k8s-master01 ~]# helm repo add gitlab https://charts.gitlab.io/"gitlab" has been added to your repositories[root@k8s-master01 ~]# helm repo updateHang tight while we grab the latest from your chart
小陈运维
2022/09/12
7010
Gitlab+Jenkins+k8s+Helm 的自动化部署实践
本文从实践角度介绍如何结合我们常用的 Gitlab 与 Jenkins,通过 K8s 来实现项目的自动化部署,示例将包括基于 SpringBoot 的服务端项目与基于 Vue.js 的 Web 项目。
kubernetes中文社区
2021/11/12
3.8K0
【腾讯云容器服务】在 TKE 上自建 Gitlab 代码仓库
修改这些配置比较繁琐,我已经维护了一份 Gitlab 适配腾讯云容器服务的 chart 包,相关 gitlab 镜像也做了同步,可以实现一键安装。可以通过 git 拉下来:
imroc
2022/07/21
2.9K1
【腾讯云容器服务】在 TKE 上自建 Gitlab 代码仓库
持续集成方案 drone 的简介及部署
一般小型公司的持续集成方案会选择: gitlab + gitlab CI,当然部分公司也会选择 jenkins。
山月
2020/06/18
1.7K0
GitLabCI-Runner使用S3存储配置分布式缓存
准备一个pv用于存储bucket数据,这里我使用的是本地的目录"/data/devops/minio-data",根据大家不同的环境按需调整即可。
DevOps云学堂
2020/05/22
2.3K0
GitLabCI-Runner使用S3存储配置分布式缓存
利用 Helm部署 Ingress
Ingress 是一种 Kubernetes 资源,也是将 Kubernetes 集群内服务暴露到外部的一种方式。
菲宇
2019/06/12
3.1K0
​Kubernetes 集群仓库 harbor Helm3 部署
Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源 Docker Distribution。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。
高楼Zee
2020/11/30
8.4K1
​Kubernetes 集群仓库 harbor Helm3 部署
KubernetesIngress自动化https
随着 HTTPS 不断普及,大多数网站开始由 HTTP 升级到 HTTPS。使用 HTTPS 需要向权威机构申请证书,并且需要付出一定的成本,如果需求数量多,则开支也相对增加。cert-manager 是 Kubernetes 上的全能证书管理工具,支持利用 cert-manager 基于 ACME 协议与 Let’s Encrypt 签发免费证书并为证书自动续期,实现永久免费使用证书。
mikelLam
2022/10/31
9000
KubernetesIngress自动化https
基于 Jenkins、Gitlab、Harbor、Helm 和 Kubernetes 的 CI/CD
我们利用 Kubernetes 来动态运行 Jenkins 的 Slave 节点,可以和好的来解决传统的 Jenkins Slave 浪费大量资源的缺点。之前的示例中我们是将项目放置在 Github 仓库上的,将 Docker 镜像推送到了 Docker Hub,这节课我们来结合我们前面学习的知识点来综合运用下,使用 Jenkins、Gitlab、Harbor、Helm、Kubernetes 来实现一个完整的持续集成和持续部署的流水线作业。
jwangkun
2021/12/23
2.6K0
基于 Jenkins、Gitlab、Harbor、Helm 和 Kubernetes 的 CI/CD
利用Helm一键部署Kubernetes Dashboard并启用免费HTTPS
Kubernetes Dashboard 是一个可以可视化查看和操作 Kubernetes 集群的一个插件
imroc
2018/07/26
2.5K0
Helm 编排教程
我们知道 Kubernetes 是一个分布式的容器集群管理系统,它把集群中的管理资源抽象化成一个个 API 对象,并且推荐使用声明式的方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件。
Ewdager
2020/08/06
2.9K0
Helm3 使用Harbor仓库存储Chart
本文讲述的是使用Helm3和Harbor v2.3.1的经验,使用Harbor作为Chart仓库服务。来实现更高效、便捷的DevOps运维管理,学习如何撰写自己的Chart应用。文中如有错误的地方,还望各位大佬在评论区指正。
王先森sec
2023/04/24
1.5K0
K8s集群上使用Helm部署2.4.6版本Rancher集群
Rancher简介 Rancher是一套容器管理平台,它可以帮助组织在生产环境中轻松快捷的部署和管理容器。 Rancher可以轻松地管理各种环境的Kubernetes,满足IT需求并为DevOps团队提供支持。 Kubernetes不仅已经成为的容器编排标准,它也正在迅速成为各类云和虚拟化厂商提供的标准基础架构。Rancher用户可以选择使用Rancher Kubernetes Engine(RKE)创建Kubernetes集群,也可以使用GKE,AKS和EKS等云Kubernetes服务。 Rancher用户还可以导入和管理现有的Kubernetes集群。 Rancher支持各类集中式身份验证系统来管理Kubernetes集群。例如,大型企业的员工可以使用其公司Active Directory凭证访问GKE中的Kubernetes集群。IT管​​理员可以在用户,组,项目,集群和云中设置访问控制和安全策略。 IT管​​理员可以在单个页面对所有Kubernetes集群的健康状况和容量进行监控。 Rancher为DevOps工程师提供了一个直观的用户界面来管理他们的服务容器,用户不需要深入了解Kubernetes概念就可以开始使用Rancher。 Rancher包含应用商店,支持一键式部署Helm和Compose模板。Rancher通过各种云、本地生态系统产品认证,其中包括安全工具,监控系统,容器仓库以及存储和网络驱动程序。下图说明了Rancher在IT和DevOps组织中扮演的角色。每个团队都会在他们选择的公共云或私有云上部署应用程序。
三杯水Plus
2020/09/06
2.7K0
K8s集群上使用Helm部署2.4.6版本Rancher集群
使用 Helm 批量部署应用
在微服务场景中,使用同一模式开发的应用会变的很多,我们会使用相同的 docker 基础镜像进行应用打包。但对于部署场景,我们需要写很多类似的 yaml 文件,由此,我们希望将不同之处使用变量抽取出来,并与通用模板进行整合。
谢正伟
2020/06/16
3.7K0
使用 Helm 批量部署应用
使用 Cert-Manager 实现 Ingress Https
什么是 HTTPS 超文本传输协议 HTTP 协议被用于在 Web 浏览器和网站服务器之间传递信息,HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了 Web 浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP 协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
iMike
2019/07/29
1.6K0
一些 Helm 最(tòng)佳(kǔ)实践
Accessing values of the subchart with dash in the name · Issue #2192 · helm/helm
布鲁斯鱼
2022/11/02
5950
一些 Helm 最(tòng)佳(kǔ)实践
通过jenkins交付微服务到kubernetes
随着Kubernetes的遍地开花,Kubernetes的优势可以说是深入人心,很多企业也是利用Kubernetes,来实现更高效的交付和更好地提高我们的资源使用率,推动标准化,适应云原生。
星哥玩云
2022/08/08
2K0
通过jenkins交付微服务到kubernetes
相关推荐
Kubernetes 集群使用 Helm 搭建 GitLab 并配置 Ingress
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验