脑补可持续集成实现(一)

发布在 运维

前言

出于作者对DevOps的兴趣,虽然之前也有想法自己实践一套基于GitLab的CI/CD的完整流程以及通过ElectronJs开发一个桌面版发布清单应用,奈何一直没有时间做这件事。其实想想也不奇怪要做成这件事情也有不少东西去做,首先需要一台配置足够能跑GitLab的服务器(最好4C8G,感觉有点小贵。。。),其次需要了解gitlab-ci脚本的编写规则(这个其实不是很难),最后还得学习一下ElectronJs。这次我们就根据下面这个流程图慢慢把这个流程当拼图一样一步一步拼好。
image.png
阅读全文

K8s笔记--集群部署

发布在 运维

前言

在了解了K8s的基础架构之后我们就可以尝试去部署K8s集群,目前K8s集群部署的方式有3种:

方式名称 区别
MiniKube 仅支持单节点部署集群,相当于是初学者学习K8s集群的工具
Kubeadm 通过Kubeadm init初始化集群以及通过kubeadm join 加入Node节点,以此来实现集群部署。部署比较方便,执行init会自动初始化Master节点需要的服务
二进制包 从官网下载各个服务的二进制包单独部署

该篇文章将展示如何通过Kubeadm部署集群并且实现公网部署。(由于仅俩台服务器且处在不同的内网下导致只能通过公网部署,正常企业阿里云同一账户下的俩台ECS处在同一内网)

Kubeadm 集群部署

  1. 安装Docker(Master、Node)
    安装Docker可参考官方文档,注意这里Docker有个配置需要调整,我们需要调整Docker的Cgroup为systemd(目的是跟K8s保持一致),Docker默认的是groupfs。不确定的同学可以执行docker info | grep cgroup看一下。更改方式如下:
    执行vim /etc/docker/daemon.json
    1
    2
    3
    4
    5
    6
    {
    "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
    ],
    "exec-opts": ["native.cgroupdriver=systemd"] // 新增该行
    }
阅读全文

K8s笔记--基础架构

发布在 运维

前言

K8s目前也是比较主流的一套分布式容器编排工具,因此有着很好的社区,网络上与其相关的技术文章也是数不胜数,该篇文章只是之前学习K8s的笔记搬运。我一直觉得学习一个组件最好的方式还是先了解他的组成架构,然后才会尝试去搭建运行。因此在开始搭建K8s集群前还是应当先对其基础架构中的模块有所了解,该篇文章主要梳理K8s集群部署时我们需要运行的模块(或者说我们在搭集群实质上是在运行哪些模块)。以下是K8s的架构图(截取至K8s官方网站)。
k8s-structure
阅读全文

前言

前言先听我唠个嗑,为什么要搭建这套监控体系呢,因为公司的服务器目前部署在阿里云服务器上,ECS虽然有CPU监控、带宽的监控但是对涉及到应用的Mysql、nginx、Api并没有监控,所以才打算搭建这套监控体系。如果问为什么不把数据库放在阿里云的RDS上,这里说明下原因,因为阿里云RDS目前不支持Myisam的引擎,但是我们业务中又用到所以没办法。

配置

以下是该组合的docker-composer.yml的配置,因为prometheus也是第一次玩,里面的一些报警规则还不是很了解,所以就简单的贴一个该组合下的prometheus.yml。
阅读全文

记一次队列阻塞的排查历程

发布在 运维

开头

开头讲下为什么要记录这次排查历程呢?因为这个问题折腾了我很久,折腾了好几天也尝试过问一些技术的朋友、google查找相对应的资料、包括Stack Overflow上发贴求助、像阿里云发工单,最后运气比较好还是跟另一个同事最后找到了答案。过程比较久,对自己的影响也比较深刻想记录一下。
阅读全文

为什么要搭建NFS服务

在分布式服务中,我们的应用可能是集群部署的拥有ServerA、ServerB甚至ServerC。当用户访问一个图片时,他可能通过Load Balance访问到ServerA,但是如果这张图片不在ServerA上而在ServerB上的话不就报错了吗(404 Not Found)?这时你肯定想安静的敲代码不想被产品经理或者你的上司烦恼,这时聪明的程序员就知道该马上想解决方案了。我一开始的想法是保持Server A和Server B的文件保持一个增量同步(我只有2台服务器)然后我就通过Sersync+rsync实现了我的想法(Sersync+rsync的部署可能会开篇文章来说),但是这样一来2边的服务器都保存了图片万一哪天服务挂了我却不知道怎么办,还要对比一下差异保证两边同步想想都头疼,所以最后我又搭了一个NFS服务(Network File System)下面就讲一下部署的流程。当然,肯定也有人会问直接把图片统一存云上就好啦,话是这么说,但是我们有些业务是需要操作本地的图片,比如调用些gd库之类的。
阅读全文

  • 第 1 页 共 1 页
作者的图片

晨晨晨晨晨晨🐼

凛冬散尽,待春拂面,星河长明。


Java开发者、PHP开发者、DevOps爱好者


杭州,中国🇨🇳