使用helm安装jenkin和gitlab
一、使用服务介绍
存储: 阿里云NAS
k8s网络插件: calico
k8s版本: 1.15.2
二、helm安装
https://www.cnblogs.com/zhangb8042/p/10205551.html
三、安装gitlab(名字命名为mygitlab)
1、下载gitlab的helm的配置清单
helm fetch stable/gitlab-ce
tar xf gitlab-ce-0.2..tgz
cd gitlab-ce
2、修改values.yaml配置清单中的存储内容(不修改存储、提前创建好pv也行,node节点记得下载nfs-utils)
查看与修改values.yaml配置清单中的pvc内容,创建相应的NAS的pv,并修改资源清单中的pvc配置,改成挂载nas创建的pv,(redis和postgresql中的配置清单也要改)
修改例子:
persistence:
gitlabEtc:
enabled: true
#size: 1Gi
# storageClass:
accessMode: ReadWriteMany
resources:
requests:
storage: 1Gi
#例子2、postgresql
persistence:
enabled: true
# storageClass:
accessMode: ReadWriteOnce
resources:
requests:
storage: 10Gi
#size: 8Gi
subPath: "postgresql-db"
3、创建对应的pv
创建PV的模板
apiVersion: v1
kind: PersistentVolume
metadata:
name: nas
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /
server: 055f84ad83-ixxxx.cn-hangzhou.nas.aliyuncs.com
4、helm指定资源清单安装
helm install stable/gitlab-ce --name mygitlab -f values.yaml -f charts/postgresql/values.yaml -f charts/redis/values.yaml
5、查看PV、PVC
[root@k8s-m gitlab-ce]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
mygitlab-gitlab-ce-data 10Gi RWX Retain Bound default/mygitlab-gitlab-ce-data 32s
mygitlab-gitlab-ce-etc 1Gi RWX Retain Bound default/mygitlab-gitlab-ce-etc 32s
mygitlab-postgresql 10Gi RWO Retain Bound default/mygitlab-postgresql 32s
mygitlab-redis 10Gi RWO Retain Bound default/mygitlab-redis 32s
[root@k8s-m gitlab-ce]# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
mygitlab-gitlab-ce-data Bound mygitlab-gitlab-ce-data 10Gi RWX 15s
mygitlab-gitlab-ce-etc Bound mygitlab-gitlab-ce-etc 1Gi RWX 15s
mygitlab-postgresql Bound mygitlab-postgresql 10Gi RWO 15s
mygitlab-redis Bound mygitlab-redis 10Gi RWO 15s
6、设访问地址
helm upgrade mygitlab --set externalUrl=http://your-domain.com stable/gitlab-ce
7、将gitlab的svc改成nodeport(毕竟没有使用SLB服务)
kubectl patch svc mygitlab-gitlab-ce -p '{"spec":{"type":"NodePort"}}'
8、配置gitlab的ingress
vim my-nginx-deploy
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx-deploy
spec:
replicas:
selector:
matchLabels:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
ports:
- name: http
containerPort:
#ingress文件
[root@k8s-m ~]# cat git-ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-nginx
spec:
rules:
- host: git.test.com
http:
paths:
- backend:
serviceName: mygitlab-gitlab-ce
servicePort:
9、导入与测试
[root@k8s-m ~]# kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ingress-nginx git.test.com 3m18s

四、helm安装jenkins
1、下载资源清单文件
helm fetch stable/jenkins
2、修改资源清单(主要还是查看与修改存储)
tar xf jenkins-1.5..tgz
cd jenkins/
vim values.yaml
persistence:
enabled: true
storageClass:
annotations: {}
accessMode: "ReadWriteOnce"
resources:
requests:
storage: 10Gi
3、创建jenkins使用的PV
[root@k8s-m jenkins]# cat jenkins-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: myjenkins
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
path: /
server: 055f84ad83-ixxxx.cn-hangzhou.nas.aliyuncs.com
4、创建jenkins服务
helm install stable/jenkins --name myjenkins -f values.yaml
5、查看
[root@k8s-m jenkins]# kubectl get pvc myjenkins
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
myjenkins Bound myjenkins 10Gi RWO 21s
[root@k8s-m jenkins]# kubectl get deploy myjenkins
NAME READY UP-TO-DATE AVAILABLE AGE
myjenkins / 2m8s
##查看myjenkins的svc(使用外网ip的31638端口能直接访问)
[root@k8s-m jenkins]# kubectl get svc myjenkins
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
myjenkins LoadBalancer 10.97.245.156 <pending> :/TCP 6m42s
6、查看jenkins的密码等
helm status myjenkins
五、配置gitlab与jenkins的连接(连接的url使用名称空间,不要用ip)
1、配置地址
https://www.cnblogs.com/zhangb8042/p/9278819.html
2、差异截图


3、最后结果

使用helm安装jenkin和gitlab的更多相关文章
- kubernetes实战(十):k8s使用Helm安装harbor
1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml ...
- helm安装及使用
helm简介 官网文档:https://helm.sh/ helm是kubernetes的包管理器,类似于linux系统下的apt-get或yum 安装 wget https://get.helm.s ...
- Ubuntu 简单安装和配置 GitLab
使用的 Ubuntu Server 16.04 LTS 版本,服务器托管在 Azure 上,用的 1 元试用 1 个月服务器订阅(1500 元额度). 安装命令(推荐使用): curl -sS htt ...
- Ubuntu Docker 安装和配置 GitLab CI 持续集成
相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...
- kubernetes包管理工具Helm安装
helm官方建议使用tls,首先生成证书. openssl genrsa -out ca.key.pem openssl req -key ca.key.pem -new -x509 -days -s ...
- kubernetes(k8s) helm安装kafka、zookeeper
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...
- helm 安装prometheus operator 并监控ingress
1.helm安装 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.shchmod 7 ...
- 国内不fq安装K8S三: 使用helm安装kubernet-dashboard
目录 3 使用helm安装kubernet-dashboard 3.1 Helm的安装 3.2 使用Helm部署Nginx Ingress 3.3 使用Helm部署dashboard 3.4 使用He ...
- K8s Helm安装配置入门
作为k8s现在主流的一种包部署方式,尽管不用,也需要进行一些了解.因为,它确实太流行了. 这一套太极拳打下来,感觉helm这种部署,目前还不太适合于我们公司的应用场景.它更适合需要手工编程各种yaml ...
随机推荐
- js正则定义支付宝账号、手机号、邮箱
一.支付宝账号:可以只输入数字.字母.字母(数字)+数字(字母),其中只字母中可以含有@._或者.也可以三者都可以包含并且可以在任意位置,限制:小于等于30位(可根据需求自定义范围): let zh ...
- 通过核心API启动单个或多个scrapy爬虫
1. 可以使用API从脚本运行Scrapy,而不是运行Scrapy的典型方法scrapy crawl:Scrapy是基于Twisted异步网络库构建的,因此需要在Twisted容器内运行它,可以通过两 ...
- 第二篇:python中的字符串资源详述
字符串资源使用方法详解 工具:Pycharm python环境:anaconda 接下来开始逐一解释: 如图: test后敲个点,就可以调用框框内的所有函数(功能),典型的面向对象思想. 上面只是简单 ...
- Python解析json字符串,json字符串用法
json数据简介 json数据是一个轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使json称为理想的数据交换语言,易于人阅读和编写,同时易于机器解析和生成. json中的字符集必须是U ...
- Win10永久版低价购买及激活工具使用说明
目录 按 发展历程 用户界面 激活工具 按 Windows 10是由美国微软公司开发的应用于计算机和平板电脑的操作系统,于2015年7月29日发布正式版. Windows 10操作系统在易用性和安全性 ...
- Java框架之SpringMVC 03-RequestMapping-请求数据-响应数据
SpringMVC SpringMVC是一种轻量级的.基于MVC的Web层应用框架. 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口. 采用了松散耦合可插拔组件结构,比 ...
- 盘它!!一步到位,Tensorflow 2的实战 !!LSTM下的股票预测(附详尽代码及数据集)
关键词:tensorflow2.LSTM.时间序列.股票预测 Tensorflow 2.0发布已经有一段时间了,各种新API的确简单易用,除了官方文档以外能够找到的学习资料也很多,但是大都没有给出实战 ...
- Java单体应用 - Markdown - 03.高级技巧
原文地址:http://www.work100.net/training/monolithic-markdown-advance.html 更多教程:光束云 - 免费课程 高级技巧 序号 文内章节 视 ...
- PHP——常量
一.什么是常量 常量可以理解为值不变的量(如圆周率)或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量,自定义常量是根据我们开发的需要,而定义的常量,它通 ...
- Client API Object Model - Grid Context(3.3)
Grids 网格,以表格的形式显示数据, 网格可以跨越整个form,也可以是form中的一项. 被称为子网格(subgrid). grid有两种, 一种是read-only grid, 另一种是edi ...