一、使用服务介绍

存储: 阿里云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的更多相关文章

  1. kubernetes实战(十):k8s使用Helm安装harbor

    1.基本概念 对于复杂的应用中间件,需要设置镜像运行的需求.环境变量,并且需要定制存储.网络等设置,最后设计和编写Deployment.Configmap.Service及Ingress等相关yaml ...

  2. helm安装及使用

    helm简介 官网文档:https://helm.sh/ helm是kubernetes的包管理器,类似于linux系统下的apt-get或yum 安装 wget https://get.helm.s ...

  3. Ubuntu 简单安装和配置 GitLab

    使用的 Ubuntu Server 16.04 LTS 版本,服务器托管在 Azure 上,用的 1 元试用 1 个月服务器订阅(1500 元额度). 安装命令(推荐使用): curl -sS htt ...

  4. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  5. kubernetes包管理工具Helm安装

    helm官方建议使用tls,首先生成证书. openssl genrsa -out ca.key.pem openssl req -key ca.key.pem -new -x509 -days -s ...

  6. kubernetes(k8s) helm安装kafka、zookeeper

    通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...

  7. helm 安装prometheus operator 并监控ingress

    1.helm安装 curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.shchmod 7 ...

  8. 国内不fq安装K8S三: 使用helm安装kubernet-dashboard

    目录 3 使用helm安装kubernet-dashboard 3.1 Helm的安装 3.2 使用Helm部署Nginx Ingress 3.3 使用Helm部署dashboard 3.4 使用He ...

  9. K8s Helm安装配置入门

    作为k8s现在主流的一种包部署方式,尽管不用,也需要进行一些了解.因为,它确实太流行了. 这一套太极拳打下来,感觉helm这种部署,目前还不太适合于我们公司的应用场景.它更适合需要手工编程各种yaml ...

随机推荐

  1. Java Collection集合中的iterator方法

    Iterator接口的概述 /** * java.util.Iterator接口:选代器(对集合进行遍历) * 有两个常用的方法 * boolean hasNext() * 如果仍有元素可以迭代,则返 ...

  2. Android 平台JS调试技术

    1.  测试技术简介 Android平台微信公众号一般以H5的形式开发,测试发现流量一般都通过js进行加密传输,导致无法对越权.SQL注入等风险点进行测试.针对此难点,本手册会介绍包括Android环 ...

  3. 深夜话题boot2docker还有那些隐藏MENU

    马克思的博士论文:自由意识的集中表达 --字体我设为5(18pt),你们懂的 总有人埋汰,终于我想起一个负负得正的话题 为什么放在深夜,因为希望看到的人越少越好,深夜是时差党的乐园 本篇作为之前几篇围 ...

  4. 【LC_Lesson1】--字符串反转练习

    LeetCode算法练习题目一: 给定一个字符串,要求将该字符串反转后输出 努力学习,天天向上.借助LeetCode的题目,练习编码能力,数据结构,以及C++和Python的编码能力. 一. 算法实现 ...

  5. 并行网关 Parallel Gateway

    并行网关 Parallel Gateway 作者:Jesai 2018年3月25日 00:26:21 前言: 做工作流时间长后,慢慢的就会发现,很多客户会需要会签的功能,会签的情况也有很多种,实现的方 ...

  6. P2869 [USACO07DEC]美食的食草动物Gourmet Grazers

    P2869 [USACO07DEC]美食的食草动物Gourmet Grazers 题目:约翰的奶牛对食物越来越挑剔了.现在,商店有M 份牧草可供出售,奶牛食量很大,每份牧草仅能供一头奶牛食用.第i 份 ...

  7. 西柚考勤系统——alpha2

    这个作业属于哪个课程 http://edu.cnblogs.com/campus/xnsy/GeographicInformationScience 这个作业的要求在哪里 https://www.cn ...

  8. PYTHON经典算法-完美平方

    问题描述: 给定一个正整数n,找到若干个完全平方数(例如:1,4,9),使得 它们的和等于n,完全平方数的个数最少. 问题示例: 给出n=12,返回3,因为12=4+4+4:给出n=13,返回2,因为 ...

  9. 关于基本布局之——Flex布局

    Flex布局 1.Flex为"Flexible Box"的简称,即为弹性布局,可作用于任何容器上.给div这类块状元素元素设置display:flex或者给span这类内联元素设置 ...

  10. Tornadofx学习笔记(2)——FxRecyclerView控件的打造

    Tornadofx是基于javafx的一个kotlin框架,用来写些电脑版的小程序 基于Scroll Pane控件,仿造Android中的RecyclerView,实现的一款tornadofx的控件 ...