自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(204)
  • 收藏
  • 关注

原创 基于helm的方式在k8s集群中部署gitlab - 升级(三)

接上一篇,本篇重点对gitlab在k8s集群中进行升级。

2023-11-26 20:21:37 1035

原创 基于helm的方式在k8s集群中部署gitlab - 备份恢复(二)

接上一篇,本篇重点介绍在k8s集群中备份gitlab的数据,并在虚拟机上部署相同版本的gitlab,然后将备份的数据进行还原恢复。

2023-11-26 19:55:18 1350

原创 基于helm的方式在k8s集群中部署gitlab - 部署(一)

由于将gitlab-nginx-ingress-controller的暴露端口的方式修改成了NodePort,因为ssh的端口也需要调整(查看下gitlab-nginx-ingress-controller ssh的暴露端口),否则会无法克隆。这样的runner存在一个问题就是由于使用的是nodeport的暴露方式,因为runner中的gitlaburl需要加端口,同时在runner进行克隆的时候也需要加端口,因为在部署一个nginx,作为一个转发。修改内核参数 - /etc/sysctl.conf。

2023-11-26 19:30:59 2464

原创 基于Prometheus自定义指标对k8s集群的容器扩缩容

前面分别对基于云原生k8s自身的hpa和基于阿里云ack集群上的hpa进行了讲解,但同时也有以自身的不足:1、k8s原生的hpa只能满足硬件资源的需求,并不能对于业务的一些指标做很多的扩容。2、阿里云ack集群通过集成阿里云厂商自研的插件可以很好的满足业务指标的获取,但是对于没有上云的公司来说也是一个痛点问题。因为我们可以通过开源的prometheus-adapter可以解决这个问题。文章目录前置条件:背景:实现原理:操作:step1:helm部署(helm3版本)1)编写values文件2)部署p

2022-04-24 23:17:54 1339

原创 基于hostpath的k8s pod日志持久化

前置条件:考虑到pod的多副本,但同时需要将日志集中收集起来,所以采用hostpath的方式将同一个服务的多pod的日志持久化到一起,日志穿插性的写在一个文件中。由于pod重启会打散分配到不同节点上,所以基于nfs的网络文件系统通过共享目录的方式挂载到客户端节点(nfs-server:/mnt/hostpath; nfs-client: /mnt/hostpath,将nfs-server的/mnt/hostpath挂载到nfs-client的/mnt/hostpath下,从而达到同服务多pod可以写到

2021-11-19 22:17:53 4862 2

原创 制作用于k8s集群中zookeeper3.6.3镜像(一)

这里写自定义目录标题背景需求分析镜像制作step1:下载zookeeper二进制安装包step2:编写zk配置脚本step3:编写zk服务的健康检查脚本step4:编写获取zk配置参数的脚本step5:编写dockerfile文件背景由于生产环境上使用的是zookeeper3.6.3集群,需要容器化部署。需求分析版本:zookeeper 3.6.3要求:数据持久化镜像制作step1:下载zookeeper二进制安装包wget http://www.apache.org/dist/zookee

2021-09-16 12:51:18 1650

原创 以statefulset方式在k8s集群中部署zookeeper3.6.3集群(二)

本篇目录链接背景需求分析环境说明1 本文的操作环境为 Kubernetes v1.18.0 版本,使用docker的容器运行时,docker 和 Kubelet 采用的 cgroup 驱动为 systemd。2 采用的是动态存储的方式持久化zk集群的数据准备yaml文件step1:编写zk的配置文件step2:编写zk的pdb文件,保证集群最少可用的节点数step3:编写zk的svc文件step4:编写zk的sts文件step5:依次执行yaml文件背景目前我司已经将java程序以微服务的形式迁移到k8

2021-09-15 22:04:38 2141

原创 k8s集群性能优化之kubelet配置资源预留

本篇目录链接疑问分析:解决思路:环境说明Kubelet Node Allocatable 介绍配置方式(基于yum安装)配置资源预留Eviction 与 OOM可分配约束疑问分析:在k8s集群中,默认情况下 Pod 能够使用节点全部可用容量,同样就会伴随一个新的问题,pod消耗的内存会挤占掉系统服务本身的资源,这就好比我们在宿主机上运行java服务一样,会出现java程序将宿主机上的资源(内存、cpu)耗尽,从而导致系统登陆不上或者卡顿现象。同理在k8s集群中也会出现类似的问题,从而也会导致一系列不可控

2021-09-14 22:09:38 5555

原创 通过EFK实现对k8s集群日志的采集

**参考:https://www.digitalocean.com/community/tutorials/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes#step-2-%E2%80%94-creating-the-elasticsearch-statefulset**1. 概述和组件说明对于Kubernetes的日志采收集,目前官方现在比较推荐的日志收集解决方案是 Elasticse

2021-07-06 11:34:53 814

原创 elasticsearch数据备份迁移之snapshot

1、快照简介ES提供快照和恢复功能,我们可以在远程文件系统仓库(比如共享文件系统、S3、HDFS等)中单独给部分索引或者整个集群创建快照。这些快照对备份非常有用,它们能相对较快地被恢复。其优点如下:迁移速度快,适用数据量大的场景;需占用源集群磁盘空间,或者借助于对象存储,实现友商ES到腾讯云ES,或自建ES到腾讯云ES的数据迁移;存储类型有共享文件系统、AWS 的 S3存储、HDFS、微软 Azure的存储、Google Cloud 的存储。2、原es集群环境系统版本jdk版本ES

2020-12-02 18:04:46 1684 3

原创 Linux进程管理工具Supervisor详解和实战

一、介绍Supervisor(http://supervisord.org)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。由于Supervisor是Python开发的,安装前先检查一下系统

2020-06-03 18:14:08 1269

原创 ingress-nginx详解和部署方案

部署ingress-nginxingress介绍K8s集群对外暴露服务的方式目前只有三种:Loadblancer;Nodeport;ingress前两种熟悉起来比较快,而且使用起来也比较方便,在此就不进行介绍了。下面详细讲解下ingress这个服务,ingress由两部分组成:ingress controller:将新加入的Ingress转化成Nginx的配置文件并使之生效ingre......

2020-05-08 18:02:58 51602 16

原创 团队协作软件之confluence和jira的配套使用

接上一篇团队协作软件之confluence部署jira1)下载软件包下载地址wget https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-8.4.1.tar.gz也可以直接下载并安装二进制包,同confluence;这里专门区别于confluence的另外一种安装方法wget ...

2020-04-21 10:50:28 3776

原创 gitlab-runner 如何配置使用 Overwrite generated pod specifications

gitlab-runner 如何配置使用。

2025-06-10 21:30:18 985

原创 研发效能利器之驭码CodeRider

驭码CodeRider 是极狐GitLab 推出的基于生成式人工智能技术的新一代软件生产工具,为开发者提供自然语言生成代码、代码补全、代码调优纠错、单元测试生成、代码解释以及智能技术问答等功能。CodeRider 与 GitLab 深度融合,为企业提供软件开发全生命周期(SDLC)的支持,涵盖项目快速上手、企业文档库/代码仓智能问答、议题管理、合并请求智能辅助、代码智能评审、安全扫描智能解析、流水线管理等功能。

2025-06-10 20:09:42 756 3

原创 gitlab使用多数据库

如果现有的gitlabhq_production已经有了ci的相关数据,那么就通过停止puma/rails服务,然后备份gitlabhq_production库,在将备份的sql写入到gitlabhq_production_ci库,确保多数据库配置好之后,ci相关数据走gitlabhq_production_ci库后有数据库,下面有操作。• 同样,projects表存在于主数据库和CI数据库中,但GitLab只会在主数据库的projects表中进行读写。

2025-01-20 11:24:16 1255

原创 windows下使用docker执行器并配置 hosts 解析

extra_hosts本身是docker执行器的有效参数,但是通过在windows上的docker和linux上的docker执行器上对比,linux上是可以是生效的,但是windows上是不可以的,所以这里需要特殊说明下。原因:这个是由于默认runner注册的时候,volume的路径采用的是linux的路径方式,因为需要修改为windows的路径方式,将。客户在gitlab-runner是使用的windows服务器上的docker,客户表示在配置了。

2025-01-20 10:57:42 1068

原创 关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢

关于 gitlab的webservice的service类型为nodeport 可以稍微展开一下,其实就是通过创建一个新的webservice的service yaml文件,然后修改该service的类型是 nodeport,这样可避免后续通过helm upgrade 升级/更新 gitlab的时候,导致service又还原为配置中默认的ClusterIP或LoadBalancer而是的gitlab访问出现问题。综上所述,在gitlab的日志中,客户的端的请求都已经为真实的ip地址。

2025-01-05 21:26:14 1335

原创 基于 gitlab-runner 实现调度GPU的资源

客户的某些流水线需要使用GPU资源,但是对于GPU服务器而言,会有多张GPU显卡,而客户只需要将runner的资源调度在其中的一张或者多张显卡,而不是占用整个GPU服务器的显卡资源。相比于方案一,方案二要更灵活一下,但是需要开启。该实践来自于客户的一个真实需求。

2025-01-05 20:37:22 869

原创 gitlab高级功能之 CICD Steps

Steps是作业中可重用且可组合的部分。每个Step都定义可由其他Steps使用的结构化输入和输出。Step可以来自本地文件、GitLab.com 存储库或任何其他 Git 源。Steps 是用于运行作业的 shell 脚本的替代方案。它们提供了更多的结构,可以组合,并且可以测试和重用。exec:命令是通过使用 Exec 系统调用来运行的,而不是通过运行 shell 来运行。Steps在 step.yml 文件中定义。每个文件都有两个文档:规范和定义。规范提供了输入、输出、类型、描述和默认值。

2025-01-03 20:12:14 1409 2

原创 Gitlab-runner 修改默认的builds_dir并使用custom_build_dir配置

2.1.3 runner中查看builds_dir目录。

2025-01-03 20:00:41 901

原创 在gitlab CICD中 小试 hooks:pre_get_sources_script 功能

hooks:pre_get_sources_script 是gitlab CICD中的一个功能,该功能可以指定在克隆 Git 仓库和任何子模块之前要在执行器上执行的某些命令。调整 Git 配置导出跟踪变量下来简单给大家演示下,看下细节过程。

2024-05-23 17:48:00 510

原创 基于manifest文件批量将coding的仓库导入gitlab中

前面有讲过通过manifest清单导入项目到gitlab中,但是实际的操作是不同gitlab实例之间的操作,然而对于在不同gitlab实例的repo迁移而言,显然会更合适。

2024-05-23 17:35:11 958

原创 gitlab artifacts过期时间查看和清理

删除早于特定日期的作业artifacts(保留job_log)(整个实例)删除早于特定日期的作业artifacts(保留job_log)(整个项目)从特定日期前完成的作业中删除作业artifacts和日志(整个实例)从特定日期前完成的作业中删除作业artifacts和日志(整个项目)在数据库中也可以查看artifacts的过期时间。查看单个项目的前50个artifacts文件大小。查看单个项目的前5个artifacts文件信息。查看artifacts文件大小的前20个项目。

2024-05-19 22:42:52 2160

原创 GitLab集成DingTalk(超级详细)

极狐GitLab集成钉钉,可以在群组中@机器人或者直接与机器人创建一对一的聊天框发送消息。当您未将钉钉账户和极狐GitLab 账户进行绑定时,机器人会提示您还未进行绑定,并会在与您的一对一聊天框中发送一个绑定链接,您需要点击链接完成绑定。

2024-05-19 22:39:43 2211

原创 基于Langchain-Chatchat + chatGLM3 轻松在本地部署一个知识库

一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。该项目是一个可以实现 __完全本地化__推理的知识库增强方案, 重点解决数据安全保护,私域化部署的企业痛点。本开源方案采用Apache License,可以免费商用,无需付费。目前支持市面上主流的本地大语言模型和Embedding模型,支持开源的本地向量数据库。本项目实现原理如下图所示,过程包括加载文件->读取文本->文本分割->文本向量化->问句向量化->

2024-02-05 18:23:13 10953 10

原创 基于ChatGLM.cpp实现低成本对ChatGLM3-6B的量化加速

基于ggml的纯C++实现,工作方式与llama.cpp相同。通过 int4/int8 量化、优化的 KV 缓存和并行计算加速内存高效的 CPU 推理。具有打字机效果的流式生成。Python 绑定、Web demo、API server和更多可能性。硬件:x86/arm CPU、NVIDIA GPU、Apple Silicon GPU平台:Linux、MacOS、Windows。

2024-02-04 22:06:48 4058 1

原创 如何在本地部署chatGLM3

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。更强大的基础模型。更完整的功能支持。更全面的开源序列。详细介绍参考官方README介绍。basic_demo: 基础demo(cli_demo和web_demo)composite_demo : 综合demo(聊天、工具和代码解释器)finetune_demo:基础模型微调model:这个事自己创建的,将模型文件放在此目录下openai_api_demo: openapi的api接口demo。

2024-02-04 18:19:45 2554

原创 基于MacBook Pro M1芯片运行chatglm2-6b大模型

更强大的性能。更长的上下文。更高效的推理。更开放的协议。详细介绍参考官方README介绍。

2024-01-22 21:35:06 2549 2

原创 在gitlab中使用gitlab-sshd替换ssh服务

在gitlab15.9之后,gitlab-sshd成为了gitlab的服务组件之一,从而使得open-ssh不再是必需品,本篇主要讲配置。

2024-01-18 20:37:45 1094

原创 通过manifest清单导入项目到gitlab中

AOSP示例文件:https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml。GitLab 允许根据manifest清单文件(如 Android 存储库使用的清单文件)导入所需的 Git 存储库。从gitlab 11.2引入此功能。

2024-01-18 20:32:44 1524

原创 在k8s集群中部署多nginx-ingress

关于ingress的介绍,前面已经详细讲过了,参考。本案例ingress的部署使用deployment+LB的方式。

2024-01-04 16:21:39 2508 2

原创 gitlab高级功能之Kubernetes Agent介绍

GitLab Agent for Kubernetes 是一个活跃的集群内组件,用于解决GitLabKubernetes 集成任务;同时 GitLab Kubernetes Agent 是 gitLab 的组件之一,从而可以实现GiLab CI/CD 访问 k8s 集群的能力。GitLab Agent for Kubernetes 由两个通信部分实现:在集群中运行的 GitLab 代理 (agentk) 和在 GitLab 端运行的 GitLab 代理服务器 (gitlab-kas)。

2024-01-04 10:27:50 2396 5

原创 helm部署redis高可用集群

参考文档链接:https://juejin.cn/post/7284885060339679251。

2023-12-26 21:19:45 1635

原创 在k8s中使用cert-manager部署gitlab集群

写在前面的话:前面有详细的分享过,不过当时使用gitlab的访问证书是阿里云上免费的ssl证书,今天特意专门介绍下另外一种基于cert-manager发布自签证书的方式实现部署gitlab到k8s集群中。

2023-12-26 17:41:19 1794

原创 docker-compose 安装gitlab

写在前面的话:docker-compose的文件是通用的,因此可以切换任意版本的gitlab的镜像版本。

2023-12-25 16:52:18 2246

原创 在k8s中将gitlab-runner的运行pod调度到指定节点

本篇和前面的。

2023-12-25 16:40:37 1507

原创 docker-compose部署openldap

前段时间在本地搭建了一套gitlab geo测试环境,因为需要集成ldap,所以特意搭建下,特此作为笔记记录下。

2023-12-23 20:53:45 2245

原创 docker-compose 安装Sonar并集成gitlab

参考: https://docs.sonarqube.org/9.7/instance-administration/authentication/gitlab/安装docker-compose。创建容器运行的特有网络。

2023-12-23 20:31:57 1448

原创 为gitlab配置自签证书

前面有讲过的操作,本篇为大家介绍下为gitlab配置自签证书。

2023-12-22 21:31:04 1395

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除