使用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 ...
随机推荐
- 前端笔记7-js3
1.方法: //创建一个对象var obj = {name:"孙悟空",age:18}; //对象的属性也可以是对象 obj.brother = {name:"猪八戒&q ...
- Mysql-SQL优化-子查询替代LEFT JOIN
表A:批次信息表, 表B:实际批次明细表, Mysql版本:5.6.36 两表之间的数据体量差异:表B是表A的10000倍. 经过结转,表B通常保留 1千5百万数据.表A就是1千多条数据. 计算近24 ...
- 如何优雅的用策略模式,取代臃肿的 if-else 嵌套,看这篇就够了
经常听同事抱怨,订单来源又加了一种,代码又要加一层if-else判断,光判断订单来源的if-else就好几百行代码,代码我都不想看了,相信很多同行都有过这样的感受! Java的二十几种设计模式背的滚瓜 ...
- restframework 视图
重要知识点 as_view()获取的是view方法名,当url配版成功,执行view方法 一.逻辑封装(mixins, generics) path('author/', views.AuthorVi ...
- arch_遇到的问题
archlinux安装 wiki安装 可以参考这个来安装 $如果你跟我一样是用校园网安装的$ 记得使用pppoe-setup 来联网 arclinux 图形界面安装 参考 kde图形安装 需要创建一个 ...
- Windows中安装Linux子系统的详细步骤
早就听说Windows中可以安装Linux子系统,体验了一下,感觉还是不错的,下面直接开始安装和配置步骤吧! 开启Windows中的配置 首先开启开发者模式 打开"所有设置"进入& ...
- Java 单向队列及环形队列
队列的特点 1.可以使用数组和链表两种方式来实现. 2.遵循先入先出(FIFO)的规则,即先进入的数据先出. 3.属于有序列表. 图解实现过程: 1.定义一个固定长度的数组,长度为maxSize. ...
- mui html5 plus
mui: mod:框架 mhe:头文件 mbody:内容 mta:底部 msl:轮播图 mg:九宫格 ml:图文列表 mu.post : ajax dga: 绑定事件 mui.toast :来实 ...
- Java常见问题汇总
1.String,StringBuffer,StringBulider的区别及应用场景 2.Servlet生命周期 3.向上转型与向下转型 4.Java的多态性 5.重写和重载的区别 6.深拷贝和浅拷 ...
- linux运维基础知识-系统分区及LVM逻辑卷的创建
系统分区及LVM逻辑卷的创建 分区 创建逻辑卷 LVM简介:逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,如图 ...