Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >k8s yaml部署gitlab

k8s yaml部署gitlab

作者头像
章工运维
发布于 2024-03-28 01:50:47
发布于 2024-03-28 01:50:47
30000
代码可运行
举报
文章被收录于专栏:章工运维章工运维
运行总次数:0
代码可运行

# 创建资源

# pvc

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@tiaoban cicd]# cat > gitlab-pvc.yaml << EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gitlab-data-pvc
  namespace: cicd
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gitlab-config-pvc
  namespace: cicd
spec:
  storageClassName: nfs-client
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
EOF

# deployment

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@tiaoban cicd]# cat gitlab-deployment.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: gitlab
  namespace: cicd
spec:
  selector:
    matchLabels:
      app: gitlab
  replicas: 1
  template:
    metadata:
      labels:
        app: gitlab
    spec:
      containers:
        - name: gitlab
          image: gitlab/gitlab-ce:16.0.4-ce.0
          env:
            - name: GITLAB_SKIP_UNMIGRATED_DATA_CHECK
              value: "true"
            - name: GITLAB_OMNIBUS_CONFIG
              value: |
                external_url = 'http://gitlab.local.com/'
                prometheus['enable'] = false
                alertmanager['enable'] = false
                gitlab_rails['time_zone'] = 'Asia/Shanghai'
                gitlab_rails['gitlab_email_enabled'] = false
                gitlab_rails['smtp_enable'] = false
                gitlab_rails['gravatar_plain_url'] = 'http://sdn.geekzu.org/avatar/%{hash}?s=%{size}&d=identicon'
                gitlab_rails['gravatar_ssl_url'] = 'https://sdn.geekzu.org/avatar/%{hash}?s=%{size}&d=identicon'
                nginx['worker_processes'] = 2
                postgresql['max_connections'] = 100
                postgresql['shared_buffers'] = "128MB"
          ports:
            - containerPort: 80
              name: http
            - containerPort: 443
              name: https
            - containerPort: 22
              name: ssh
          readinessProbe:
            exec:
              command: ["sh", "-c", "curl -s http://127.0.0.1/-/health"]
          livenessProbe:
            exec:
              command: ["sh", "-c", "curl -s http://127.0.0.1/-/health"]
            timeoutSeconds: 5
            failureThreshold: 3
            periodSeconds: 60
          startupProbe:
            exec:
              command: ["sh", "-c", "curl -s http://127.0.0.1/-/health"]
            failureThreshold: 20
            periodSeconds: 120
          resources:
            requests:
              memory: "4Gi"
              cpu: "2"
            limits:
              memory: "8Gi"
              cpu: "4"
          volumeMounts:
            - name: data
              mountPath: /var/opt/gitlab
            - name: config
              mountPath: /etc/gitlab
            - name: log
              mountPath: /var/log/gitlab
            - mountPath: /dev/shm
              name: cache-volume
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: gitlab-data-pvc
        - name: config
          persistentVolumeClaim:
            claimName: gitlab-config-pvc
        - name: log
          emptyDir: {}
        - name: cache-volume
          emptyDir:
            medium: Memory
            sizeLimit: 256Mi
EOF

# svc

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@tiaoban cicd]# cat > gitlab-svc.yaml << EOF
apiVersion: v1
kind: Service
metadata:
  name: gitlab-svc
  namespace: cicd
spec:
  selector:
    app: gitlab
  ports:
    - port: 80
      targetPort: 80
      name: http
    - port: 443
      targetPort: 443
      name: https
    - port: 22
      targetPort: 22
      name: ssh
EOF

# ingress

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@tiaoban cicd]# cat > gitlab-ingress.yaml << EOF
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: gitlab
  namespace: cicd
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`gitlab.local.com`)
      kind: Rule
      services:
        - name: gitlab-svc
          port: 80
EOF

# 访问验证

# 查看资源信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@tiaoban cicd]# kubectl get all -n cicd
NAME                              READY   STATUS    RESTARTS    AGE
pod/gitlab-68b7b46dc7-m687z       1/1     Running   0           11m

NAME                     TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                 AGE
service/gitlab-svc       ClusterIP   10.108.64.185    <none>        80/TCP,443/TCP,22/TCP   11m

# 访问验证

客户端新增hots记录192.168.10.10 gitlab.local.com

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(3 / 3)CentOS搭建K8s微服务20条
k8s第三方资源监控资源展示平台、Prometheus(数据收集)、Grafana(数据展示)
老张的哲学
2023/01/09
5660
Kuberneters 搭建openLDAP
要安装一系列的工具 ,如:jenkins spinnaker gitlab。账号系统是一件烦人的事情。前两年自己也试过openladap这样的统一账号管理认证。现在就想再用一下.把几个软件的账户系统整合一下(主要是想上spinnaker了)。搭建方式基本参照:https://mutoulazy.github.io/2021/04/01/kubernetes/openLDAP/#%E5%9C%A8k8s%E4%B8%AD%E9%83%A8%E7%BD%B2。不过这个哥们写的配置文件也比较乱,起码的pv,pvc应该先创建吧?yaml顺序整的杂七乱八的都是创建了服务后导出的.....,另外还有这里两个的可以参考:Kubernetes - - k8s - v1.12.3 OpenLDAP统一认证kubernetes实战(十一):k8s使用openLDAP统一认证
对你无可奈何
2021/08/02
2K0
k8s安装es单机版
本篇文章介绍如何在k8s集群中部署elasticsearch单节点,以及如何使用NFS持久化es的数据
summerking
2022/09/19
2.1K0
k8s安装es单机版
客官来玩K8S之搭个Gitlab
这里面用的 PV/PVC 需要自己在腾讯云里面创建, 基本就是点点点就能创建出来了.
李国宝
2020/01/02
1.3K0
Kubernetes 1.20.5 安装gitlab
参照https://www.yuque.com/duiniwukenaihe/ehb02i内https://www.yuque.com/duiniwukenaihe/ehb02i/qz49ev之前文章。要完成kubernetes devops工作流的完成。前面已经搭建了jenkins。gitlab代码仓库也是必不可缺少的。现在搞一下gitlab,关于helm前面也做了详细的讲述,这里略过了。另外之前gitlab版本没有中文版本可参照https://hub.docker.com/r/twang2218/gitlab-ce-zh/ twang2218的汉化版本。现在的gitlab已经支持多语言了,可以略过。下面就开始安装gitlab。看了一眼helm的安装方式...文章较少。还是决定老老实实yaml方式安装了
对你无可奈何
2021/04/01
2.5K0
「走进k8s」Kubernetes1.15.1的持久化存储PVC(34)
PS:如果这时删除了PV和PVC,共享目录中的文件也同时被删除了,这跟设置的回收版本有关系,回收策略是 Recycle,PVC 给删除掉了,然后回收了数据。上次说的PV和PVC的各种策略一定要注意。不然一不小心就把数据搞丢了。
IT架构圈
2019/09/10
7850
「走进k8s」Kubernetes1.15.1的持久化存储PVC(34)
Gitlab CI/CD 部署应用到 K8S 演示
前言 关于 Gitlab CE 部署 与 Gitlab CI 搭建请参考下文 Docker Compose部署Gitlab Gitlab CI 搭建持续集成环境 环境 与 概述 一个 hello-world nodejs 项目 Dockerfile 和 app.dev.yaml(k8s deploy 文件) 存放在业务代码中 Gitlab CI Build 机器需要安装 envsubst 命令 构建一个 Docker 业务镜像发布到 Kubernetes 中 本项目部署 K8S Service 、HPA
山月
2020/05/26
1.1K0
Gitlab CI/CD 部署应用到 K8S 演示
k8s部署nexus maven仓库指南
本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
从大数据到人工智能
2022/11/02
6790
当SRS遇到K8s:如何构建海量推流源站?
Photo by Oscar Ivan Esquivel Arteaga on Unsplash
LiveVideoStack
2021/09/01
1.1K0
当SRS遇到K8s:如何构建海量推流源站?
关于Prometheus在K8S中的部署方案如何选择,以及分享手工部署的YAML
对于技术的选型,往往是没有规定死是要用哪一项技术的,而是需要结合业务的需求、运维场景、自身对某项技术的掌握程度、以及其它更多的考量因素来共同决定的:
不背锅运维
2023/05/26
3640
关于Prometheus在K8S中的部署方案如何选择,以及分享手工部署的YAML
Gitlab CICD 与Kubernetes实践·部署GitLab
上一篇,简单的从?Gitlab CI/CD方法论中探索实践中大致了解Gitlab在CI/CD功能的基本介绍,现在我们通过在K8s集群内安装Gitlab、Gitlab Runner来为深入探索Gitla
公众号: 云原生生态圈
2020/11/02
2.4K0
Gitlab CICD 与Kubernetes实践·部署GitLab
k8s之StatefulSet
是用来创建有状态应用,可以通过过某种方式记录这些状态,然后在 Pod 被重新创建时,能够为新 Pod 恢复这些状态。
编程黑洞
2023/03/06
3150
使用resilio实现多集群的k8s pod数据双向非实时同步
有持久化的数据的应用, 部署在2套K8S集群上做双中心双活, 存储也是2套. (存储不提供存储level的双向同步方案.)
东风微鸣
2022/04/21
1K0
使用resilio实现多集群的k8s pod数据双向非实时同步
2022-02-13:k8s安装gitlab,yaml如何写?
2022-02-13:k8s安装gitlab,yaml如何写? 答案2022-02-13: yaml如下: apiVersion: apps/v1 kind: Deployment metadata: labels: app: gitlab name: gitlab namespace: moonfdd spec: replicas: 1 selector: matchLabels: app: gitlab template: metadata:
福大大架构师每日一题
2022/02/13
3320
在Kubernetes(k8s)中部署 jenkins
可以参考我之前的文档:https://cloud.tencent.com/developer/article/1902519
小陈运维
2022/06/21
1.3K0
服务部署与迁移示例
通过 mysql 与 wordpress 镜像包部署持久化的 wordpress 博客网站
星哥玩云
2022/09/15
3000
服务部署与迁移示例
当SRS遇到K8s:如何构建海量推流源站?
Origin Cluster通过配置其他源站的信息,在本源站没有流时查询到流的位置,通过RTMP302定向到指定源站,具体原理可以参考#464。主要应用场景如下:
LiveVideoStack
2020/02/17
1.2K0
当SRS遇到K8s:如何构建海量推流源站?
Kubernetes 中部署 Maven 私有仓库 Sonatype Nexus3
背景: java程序员们想弄一个私有maven仓库,嗯 正常的是用nexus or artfactory? artfactory是两三年前听jfrog的讲座知道的,程序说他原来用的nexus。那
对你无可奈何
2021/06/01
1.8K0
Jenkins在kubernetes上的落地实践
创建pv/pvc对象,这里我们要注意nfs提供给jenkins的存储目录的权限问题,否则服务因为权限无法写入数据:
公众号: 云原生生态圈
2020/06/15
8370
Jenkins在kubernetes上的落地实践
k8s之PV、PVC和StorageClass
PV 描述的,则是一个具体的 Volume 的属性,比如 Volume 的类型、挂载目录、远程存储服务器地址等。
编程黑洞
2023/03/06
7251
k8s之PV、PVC和StorageClass
相关推荐
(3 / 3)CentOS搭建K8s微服务20条
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验