一、使用服务介绍

存储: 阿里云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. uni-app,vue,react,Trao之缓存类封装

    uni-app,vue,react,Trao之缓存类封装 一,介绍与需求 1.1,介绍 缓存主要分为如下几个 1.LocalStorage LocalStorage是永久性的本地缓存,存储在客户端的浏 ...

  2. Core 定时任务之TimeJob

    第一:引入NuGet包: Install-Package Pomelo.AspNetCore.TimedJob -Version -rtm- 第二: 在StartUp 中注册Job: public c ...

  3. swagger生成错误问题 汇总解决

    Unable to render this definition The provided definition does not specify a valid version field. Ple ...

  4. 使用ABAP Data Validator验证数据有效性

    在日常的开发过程中,我们常常要处理不同来源的数据.数据可能来自不可靠的外部系统.不可靠的用户输入和甚至设计有误的数据库表,因此,对数据有效性进行验证是必要的工作. 开源工具ABAP Data Vali ...

  5. __call__ 方法

    对象() 或 类()() 调用 __call__里面的方法 class Call: def __call__(self, *args, **kwargs): print("Hello __c ...

  6. Git The requested URL returned error:403

    一.问题描述 hexo部署的仓库需要换到另一个账号上,于是按照之前创建的步骤,修改了hexo安装目录下的deploy的repo地址,然而hexo s和hexo g没出错,但是hexo d时,会出错. ...

  7. 创建认证提供器 安全性与收尾工作 精通ASP-NET-MVC-5-弗瑞曼

  8. Android教程2020 - RecyclerView使用入门

    本文介绍RecyclerView的使用入门.这里给出一种比较常见的使用方式. Android教程2020 - 系列总览 本文链接 想必读者朋友对列表的表现形式已经不再陌生.手机上有联系人列表,文件列表 ...

  9. 架构模式中的Active Record和Data Mapper

    架构模式中的Active Record和Data Mapper 概念 在简单应用中,领域模型是一种和数据库结构一致的简单结构,对应每个数据库表都有一个领域类,在这种情况下,有必要让每个对象负责数据库的 ...

  10. python实现ip地址的包含关系判断

    python的IPy模块虽然可以实现一些ip地址的判断,但是不是很完美,有些场景根本判断不出来,还会抛出异常,比如一个地址范围和一个ip/掩码,这种不同类型就无法判断. 对此通过自己写函数来实现ip地 ...