DevOps文化 & SRE实战分享平台

0%


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, gitlab-ce-13.9.4-ce, Python 3.6.8
问题关键字:Python,Gitlab API,Python对接Gitlab API,Python批量设置Gitlab镜像仓库


前述

最近几天一直没有发Rocky Linux相关基础技术文章,主要在于木子最近迷上了Golang,事情的起因在于之前写了一篇关于《在Rocky Linux 8.3 RC1上安装GitLab实现代码仓库同步容灾》,有博友反馈公司有上千个仓库,如果需要一个一个去设置镜像仓库,势必会干晕一批人,于是就想着写一个批量设置Gitlab镜像仓库的脚本,写完跑了一遍用时11分多钟,太久了…,之前一直听说Golang很快,抱着学习的态度,试着用Golang重写了一遍(如果刚开始一直写弱类型语言,第一次开始写强类型语言,会比较痛苦,木子也是第一次写Golang @[email protected]),同样的实现方式,发现在Golang下执行只需要30多秒,瞬间秒杀一切。本着以练代学的精神,于是开始使用Golang来实现一套相对完善的Gitlab镜像仓库同步功能,其中包括:创建组、创建仓库、同步组、同步仓库、设置镜像仓库等功能。这也是为什么最近木子一直没有更新博文的原因。

来一个 Golang & Python 速度对比

1
2
3
4
5
# Golang
./setting-gitlab-mirror-repo 1.12s user 0.94s system 5% cpu 34.574 total

# Python3
python3 ./setting-gitlab-mirror-repo.py 6.83s user 0.50s system 0% cpu 17:11.92 total
阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, Ubuntu 20.04.2 LTS, openssh-8.6p1
问题关键字:OpenSSH 升级, OpenSSH 更新, OpenSSH 漏洞修复


前述

OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。
OpenSSH 8.3p1及之前版本中scp的scp.c文件存在操作系统命令注入漏洞。该漏洞源于外部输入数据构造操作系统可执行命令过程中,网络系统或产品未正确过滤其中的特殊字符、命令等。攻击者可利用该漏洞执行非法操作系统命令。
详细参考国家信息安全漏洞库信息: CVE-2020-15778
目前Rocky Linux 8.3 RC1 采用的为OpenSSH_8.0p1,所以建议通过升级OpenSSH修复此问题。同样OpenSSH before 8.5也存在漏洞,所以建议修复至最新版本OpenSSH_8.6p1。
注:此操作步骤同样适用于Red Hat系所有7.x 8.x服务器系统。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, gitlab-ce-13.9.4-ce
问题关键字:gitlab备份,gitlab恢复,gitlab备份与恢复,gitlab迁移,gitlab容灾


前述

前几天一直在做RockyLinux中文社区SEO优化与博客系统镜像,所以一直没有更新Rocky Linux 系列教程,今天抽时间一定输出一篇。
为了确保代码仓库的连续可用性,木子计划再部署一套Gitlab服务器,与现有Gitlab服务器同步,并且为了实现异地容灾,木子采用了广州与北京双节点部署方案。

实现此需求的方案有很多:

  • 使用Git Clone命令
  • 使用Git Pull 与 Push命令
  • 使用Gitlab自带的镜像仓库功能(推荐,简单方便)
  • 使用第三方工具

因为Gitlab自带镜像仓库功能,所以木子采用了官方提供的方法,此方法存有一个问题,如果您是CE版(社区版)Gitlab,它只支持Git Push,也就是说它只支持从源Gitlab服务器到目标Gitlab服务器的同步,不支持Git Pull,换句话说就是只支持单向同步,如果需要实现双向同步,需要EE版(企业版)的支持。但对于我们来说单向同步已经能够满足基本需求了。Gitlab的镜像仓库功能是基于Git Pull事件监控进行同步的,所以同步速度也是非常快的,详细参考下图所示。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, jenkins-2.277.4-1.1, jdk1.8-1.8.0_202
问题关键字:RockyLinux安装Jenkins,RockyLinux安装与配置Jenkins,RockyLinux安装NodeJS编译环境,RockyLinux安装Java编译环境


前述

目前公司所有新业务都跑在Kubernetes中,但因为历史遗留问题,原来旧的服务很多还跑在虚拟机当中,没办法一下子切换至Kubernetes,旧服务器下架,为了保障这块业务的快速部署,需要迁移对应Jenkins。刚好最近Rocky Linux 8.3 RC1发布,虽然说不建议在生产环境使用,但在木子看来用做Jenkins构建服务器应该问题不大,于是就有了这篇文章。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, Nginx 1.14.1
问题关键字:使用Rsync和Nginx创建Rocky Linux 8.3 RC1本地存储库镜像


前述

木子本打算写一篇在Rocky Linux 8.3 RC1上安装Nginx的基础博文,感觉一两条命令,也没有什么太多好写的,而且今天刚好在做Rocky Linux 8.3 RC1本地存储库镜像,正好需要使用Nginx,所以就顺道写了这篇博文。

配置本地存储库镜像目录

因为存储库镜像都比较大,所以一般需要单独创建一个磁盘用于存放对应文件,所以这里单独挂载了一个100GB的磁盘,用于存储仓库镜像。

阅读全文 »


文章声明:此文基于木子个人理解撰写,欢迎各位读者在评论区留言、吐槽、拍砖@[email protected]
生产环境:Serverless
问题关键字:Serverless


Serverless 是什么?

无服务器(Serverless)当前软件架构中最火的技术实现。它从概念初起到现在,也不过近7年的历史,而且它本身来说是一个大的运维+应用技术栈的实现,其中包括:服务器硬件、操作系统、存储、数据库、中间件等一系列产品。但它真的是一个新的技术实现吗?还是只是一个新瓶装旧酒?
在面对一个新的名词定义的时候,很多人朋友都感到新奇,甚至很多公司开始蠢蠢欲动,想一股脑的都上到自己公司的系统中去,对于它都没有一个足够的认知。当然这不能够怪企业,企业为了生存,在对投资人画饼的时候,得用到一些新鲜名词,尤其做互联网技术的企业:Cloud、BigData、Serverless、AI、VR等等。似乎没有一个高大尚的名词,很难得到更多的投资。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3, Docker CE 20.10.6
问题关键字:在Rocky Linux 8.3 RC1上安装Docker CE


前述

在上一篇《在Proxmox VE上制作Rocky Linux 8.3 RC1系统镜像模板》中木子简单介绍了Rocky Linux系统镜像模板的制作,但在使用的过程中,木子发现其并不会自动生成网卡配置文件,具体原因还需要细查一下(CentOS 7/8没有这个问题),临时解决方法:1、手写网卡配置文件,2、通过下面命令重新生成网卡配置文件。

1
2
3
# con-name 网卡文件名,如ens18即生成的网卡文件名为ifcfg-ens18,ifname为网卡本身的名称,可以通过ip addr查看。
nmcli connection add con-name ens18 type ethernet ifname ens18 autoconnect yes ip4 10.16.0.33/24 gw4 10.16.0.254
nmcli connection up ens18

今天我们主要来聊一聊在Rocky Linux 8.3 RC1上安装Docker CE,相信大部分同学对Docker都有一定的了解,Docker CE做为一款社区开源容器软件,它几乎可以安装在任何主流操作系统上,相信有CentOS基因的Rocky Linux安装它也不是什么难事,让我们一起学习一下吧。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3
问题关键字:在Proxmox VE上制作Rocky Linux 8.3 RC1系统镜像模板


前述

在上一篇《在Proxmox VE上安装与配置Rocky Linux 8.3 RC1》博文中木子简单介绍了Rocky Linux 8.3 RC1的安装与配置,这篇我们主要来聊一聊Rocky Linux 8.3 RC1系统镜像模板的制作。

安装QEMU Guest Agent

1
2
3
# 安装qemu agent
[[email protected] ~]# dnf install -y qemu-guest-agent
[[email protected] ~]# reboot
阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Rocky Linux release 8.3
问题关键字:在Proxmox VE上安装与配置Rocky Linux 8.3 RC1


前述

在经历了3月30号的跳水,4月30号的意外阻塞Bug后,在全球人民的五一国际劳动节当天,Rocky Linux 8.3 RC1 终于发布啦!这是意外也是惊喜。在Rocky Linux中文社区已经有大量的爱好者开始安装与测试Rocky Linux。作为CentOS之父Gregory Kurtzer的又一力作,Rocky Linux的名字由来,更多的是为了纪念与Gregory Kurtzer一起创立CentOS的联合发起人Rocky(首位CentOS技术负责人)。

作为今年最受欢迎的Linux发行版之一,Rocky Linux的出现主要是因为Red Hat决定改变他们在CentOS Linux上的策略,并构建CentOS Stream版本(它在Red Hat Enterprise Linux之前,认为是滚动发行版)时,社区中的许多人都在开始寻找替代方案,在这过程中出现了AlmaLinux、Oracle Linux(很早就已经发行,但一直不温不火,但这此发布了其迁移工具)等等。

今天我们来开箱一篇基础安装文档,Rocky Linux RC1在Proxmox上的安装与配置。

阅读全文 »


文章声明:此文基于木子实操撰写
生产环境:Windows Server 2019 Core, Docker 19.03.5
问题关键字:基于Windows Server 2019 Core安装与配置Docker


前述

这是一篇基础教程,主要简单介绍基于Windows Server 2019 Core安装与配置Docker。
在Windows上Docker有两种工作模式:

  • 纯Docker容器模式,Windows Server Containers(强烈推荐),其容器进程直接在宿主机节点OS上运行。Windows Server容器通过进程和名称空间隔离提供隔离。但是,它们仍与容器主机和所有其他容器共享内核。这类似于Linux的操作方式。所以这种模式也决定了,它只能够跑Windows类容器。
  • Hyper-V虚拟化的容器模式,Hyper-V Containers。使用Hyper-V隔离,您可以将容器可视化为小型轻量级虚拟机。容器不必与容器主机或其他容器共享内核。

相对于纯Docker模式而言,Hyper-V虚拟化的Docker容器模式多了一个虚拟化层的开销,因此不建议在生产环境使用。

阅读全文 »