使用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 ...
随机推荐
- cogs 293. [NOI 2000] 单词查找树 Trie树字典树
293. [NOI 2000] 单词查找树 ★★☆ 输入文件:trie.in 输出文件:trie.out 简单对比时间限制:1 s 内存限制:128 MB 在进行文法分析的时候,通常需 ...
- isStatic:检测数据是不是除了symbol外的原始数据
function isStatic(value) { return( typeof value === 'string' || typeof value === 'number' || typeof ...
- 百度DMA+小度App的蓝牙语音解决方案案例展示
前记 跟着百度也有一段时间了,经过一年多的努力,我们也做出了一些产品.下面就给大家秀一下我们做的产品.有类似需求的朋友可以多多交流. 智能语音耳机 这个是就是可以通过按键来调用小度app的运动 ...
- Go的http包中默认路由匹配规则
# 一.执行流程 首先我们构建一个简单http server: ```go package main import ( "log" "net/http" ) f ...
- 2020寒假学习01 Scala 编程初级实践
1. 计算级数请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q为止,其中 q 为大于 0 的整数,其值通过键盘输入. Sn = 2/1+3/2+4/3+... ...
- 《爬虫学习》(二)(urllib库使用)
urllib库是Python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. 1.urlopen函数: 在Python3的urllib库中,所有 ...
- 软件工程概论 网站开发要掌握的技术 &登录界面
1.网站系统开发需要掌握的技术 一.界面和用户体验(Interface and User Experience) 1.1 知道如何在基本不影响用户使用的情况下升级网站.通常来说,你必须有版本控制系统( ...
- Creating Custom Helper Methods 创建自定义辅助器方法----辅助器方法 ------ 精通ASP.NET MVC 5
创建内联的辅助器方法 和 拓展方法 好像类似的功能. 不过写在前台更直观
- selenium,滚到页面底部的方法
你可以用 execute_script方法来处理这个. 调用原生javascript的API,这样你想滚到哪里就能滚到哪里. 下面的代码演示了如何滚到页面的最下面: driver.execut ...
- 【WPF学习】第二十一章 特殊容器
内容控件不仅包括基本控件,如标签.按钮以及工具提示:它们还包含特殊容器,这些容器可用于构造用户界面中比较大的部分区域. 首先介绍ScrollViewer控件,该控件直接继承自ContentContro ...