https://gitee.com/russellgao/blogs-image/raw/master/images/profile.jpeg?s=240&d=mp

好记性不如烂笔头

yamllint 用法

导读 yaml 文件现在是比较流行的一种配置文件,在使用的时候发现配置很容易出错,导致无法使用,这篇文章主要推荐一种检查 yaml 基本语法的工具–yamllint 。 文章中内容主要参考官方文档。 简介 作用: yaml 语法检查工具,可以帮助使用者快速发现 yaml 的文件错误。 开发语言: python 安装 Fedora / CentOS sudo dnf install yamllint

初识 ETCD

导读 本文简单介绍了 Etcd ,主要是学习 etcd 时记录的操作过程,适合小白入门时阅读。 介绍 etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。etcd具有以下特点:

CUE Use Cases

导读 CUE可用于与数据相关的广泛的连续应用中。本节讨论了CUE如何在各种应用领域提供优势。 本文主要内容来自于官方文档。 配置 管理基于文本的文件,以定义一个系统的期望状态。 可以说,验证应该是任何配置语言的首要任务。然而,大多数配置语言的重点是去除模板。CUE的不同之处在于,它采取了验证优先的立场。但CUE的约束条件也能有效地减少模板,尽管它采取的方法与传统的数据模板语言有很大的不同。

CUE是何方神圣?

导读 本片文章主要介绍 CUE 的基本概念,CUE 是什么以及可以做些什么,通过一些 demo 演示了基本的用法,适合小白入门阅读。 什么是CUE C(Configure:配置) , U(Unify:统一) , E(Execute:执行) 。

yum 踩坑记录

导读 yum 在使用过程中会遇到一些奇奇怪怪的问题,这里主要记录遇到的问题已经如何修复。这篇文档会持续更新。 踩坑1 在执行 yum 命令时报如下错误,不管执行任何命令都一样,如 yum list , yum search ,yum install

如何利用python优化解析xml文件

导读 本篇文章意在演示如何利用 python 解析 xml 文件。这篇文章的引出背景是,在程序开发过程中,一贯坚持的做法是「约定优于配置」, 但怎么取检测有没有按照约定去做的,以 maven 为例,maven 提供了 maven-enforcer-plugin 插件,可以用这个插件定制一系列 规则。所以我们需要做的就是用 python 在 pom 文件中插入 maven-enforcer-plugin 的配置 。

Alpine 容器内安装命令时遇到坑

导读 记录在 Alpine 容器内安装命令时遇到的一些问题,本篇文章会持续更新。 问题背景是在docker 容器内执行 docker 命令,执行时发现缺少某些依赖包,在安装依赖包时遇到一些难以解决的问题。 在容器内执行 docker 命令 在 docker 容器执行 docker 命令,如启动新的容器,需要把主机的 docker sock 套接字映射到容器内 。 具体方法为:

在本地如何玩转kubernetes? - kind

导读 kubernetes 现在已经走进了大众的视野,很多同学都对此比较好奇,从其他渠道或多或少都了解了一些,但是苦于没有kubernetes环境,不能身临其境的感受, 毕竟如果完整搭建一套kubernetes环境是需要资源的。 今天介绍一款工具(kind),让大家可以本地也可以构建起 kubernetes 环境,愉快的在本地玩转 kubernetes。 kind 全称 是 kubernetes in docker ,把 kubernetes 控制面的组件全部运行在一个docker 容器中,在本地通过 127.

Python 中的装饰器

导读 这篇文章主要介绍了 python 当中的装饰器。 什么是装饰器 装饰器可以理解为函数的函数,想想这么一种场景,要计算每个函数的执行时间,一种解决方法是在每个函数中做个计时,就可以拿到执行时间, 但是这样会有大量的冗余代码,显然是不可取的,这时候装饰器就派上用场了。 下面直接看代码,代码比文字更有说服力。

消息队列原理之kafka

导读 本文消息队列系列第二篇,上一篇讲述的是 Rabbitmq ,这篇主要介绍 Kafka 的原理与使用。 Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。 较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息处理应用程序。

消息队列原理之rabbitmq

导读 谈起消息队列,我们的脑海可能会不由自主的冒出这么几个关键词,解耦、异步化、消峰、广播等,消息队列的种类也很多,如 rabbitmq、rocketmq、activemq、kafka等还有各个云厂商提供的消息队列。 它们都有各种的特点和使用场景,所以这个系列的文章主要谈各个消息的原理,目前规划了两篇文章,rabbitmq 和 kafka ,其他的暂时还没有用到,还没有深究。 这篇主要介绍 rabbitmq 的原理和基于 golang 如何使用。

深入浅出的聊聊 cpu 负载与使用率

导读 在定位性能问题时,一个绕不开的话题就是 CPU ,会觉得 CPU 不够用了,或者是瓶颈了,那么怎么来确定是 CPU 的问题呢?衡量 CPU 的指标有两个,CPU 负载(load average) 和 使用率,这两者有什么关系和区别呢? 这篇文章带大家深层次的了解一下 CPU 。

git 常用命令

导读 这篇文章主要记录了 git 的一些常用命令,后续会持续补充更新。 常用命令 检出代码 1 git clone url -b git_branch 查看分支 1 git branch -a 创建分支 1 git branch xxx 删除本地分支 1 git branch -d xxxxx 检出分支 1 git checkout git_branch 拉取代码 1 git pull 把修改文件提交到缓冲区 1 git add <filename> 本地提交 1 git commit -m "代码提交信息" 推送代码 1 2 git push origin local_branch:remote_branch 例 : git push origin release/release:release/release 合并代码 1 git merge origin/remote cherry pick 1 git cherry-pick commit_id 跟踪 1 2 git branch --set-upstream-to=remote_branch local_branch 例 git branch --set-upstream-to=origin/release/release release/release 丢弃本地修改 1 2 git checkout -- file 例 git checkout -- test.

docker 原理之本地存储

导读 在前面的文章docker 原理之存储驱动中简单的介绍了 Docker 的存储驱动,这篇文章接着讲存储,目前的 docker 版本中默认的是 overlay2 ,所以这篇文章就以 overlay2 为例带大家看看,在我们执行 docker build ,docker pull,docker run 等命令时本地存储有何变化。