漠然

Nothing is impossible to a willing heart!

Btrfs 笔记

btrfs 是 Oracle 07 年基于 GPL 协议开源的 Linux 文件系统,其目的是替换传统的 Ext3、Ext4 系列文件系统;Ext 系列文件系统存在着诸多问题,比如反删除能力有限等;而 btrfs 在解决问题同时提供了更加强大的高级特性 一、Btrfs 特性 btrfs 在文件系统级别支持写时复制(cow)机制,并且支持快照(增量快照)、支持对单个文件快照;同时支...

CentOS 7 配置 VNC Server

最近决定把小主机扔到客厅跟路由器放在一起(远程开机 666),因为本来就跑的是 Linux,平时图形化需求也不多;但是为了保险起见准备搞一个 VNC,以便必要时图形化上去,比如强制删除一些 Virtual Box 虚拟机等,记录一下安装过程 安装 VNC Server VNC Server 软件有很多,这里使用 tigervnc-server yum install epel-...

kargo 集群扩展及细粒度配置

上一篇写了一下一下使用 kargo 快速部署 Kubernetes 高可用集群,但是一些细节部分不算完善,这里准备补一下,详细说明一下一些问题;比如后期如何扩展、一些配置如何自定义等 一、集群扩展 如果已经有了一个 kargo 搭建的集群,那么扩展其极其容易;只需要修改集群 inventory 配置,加入新节点重新运行命令价格参数即可,如下新增一个 node6 节点 vim i...

Kubernetes Nginx Ingress 教程

最近发现好多人问 Ingress,同时一直也没去用 Nginx 的 Ingress,索性鼓捣了一把,发现跟原来确实有了点变化,在这里写篇文章记录一下 一、Ingress 介绍 Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;前两种估计都应该很熟悉,具体的可以参考下 这篇文章;下面详细的唠一...

快速部署 kubernetes 高可用集群

鼓捣 kubernetes 好长一段时间了,kubernetes 1.5 后新增了 kubeadm 工具用于快速部署 kubernetes 集群,不过该工具尚未稳定,无法自动部署高可用集群,而且还存在一些 BUG,所以生产环境还无法使用;本文基于 kargo 工具实现一键部署 kubernetes 容器化(可选) 高可用集群 一、基本环境准备 本文基本环境如下: 五台虚拟机,基...

Vagrant 使用

Vagrant 是一个开源的 基于 ruby 的开源虚拟机管理工具;最近在鼓捣 kubernetes ,常常需要做集群部署测试,由于比较穷 😂😂😂;所以日常测试全部是自己开虚拟机;每次使用 VirtualBox开5个虚拟机很烦,而且为了保证环境干净不受其他因素影响,所以每次测试都是新开…..每次都会有种 WTF 的感觉,所以研究了一下 Vagrant 这个工具,发现很好用,一下记录一下...

如何下载 Kubernetes 镜像和 rpm

随着 kubernetes 容器化部署逐渐推进,gcr.io 镜像、kubernetes rpm 下载由于 “伟大的” 墙的原因成为阻碍玩 kubernetes 第一道屏障,以下记录了个人维护的 yum 仓库和 gcr.io 反代仓库使用 一、yum 源 目前个人维护了一个 kubernetes 的 yum 源,目前 yum 源包含 rpm 如下 ...

Jekyll + Travis CI 自动化部署博客

由于 Github 访问过慢,所以博客一直放在自己的服务器上托管;博客采用了 Jekyll 生成静态展点,最近鼓捣了一下完成了 Travis CI 自动化部署,顺便在此记录下 一、原部署方式 1.1、原部署流程 由于博客访问量不大,同时 jekyll 启动后会开启 http 服务器,还能自动监听文件变化实现刷新;所以以前的方式就是打了一个 docker 镜像,然后镜像每隔 15...

gcr.io 仓库代理

对于 kubernetes 用户来说很头疼的问题就是 1.4 以后组件容器化,而相关镜像在 Google gcr.io 仓库;对于国内的网络环境(傻逼 GFW、一群脑残、闭关锁国、妈了个蛋的…好了下面继续)来说,这些镜像下载极其困难;当然国内 IT 巨头一般都提供了所谓的 “Docker 加速器”,但是由于使用众多,速度也不尽人意;这里开放一个个人维护的反代仓库 一、仓库使用 注...

Java CAS 理解

CAS(Compare and Swap) 是利用底层硬件平台特性,实现原子性操作的算法,Java 1.5 以后 JUC(java.util.concurrent) 实现主要以此为基础;找了不少资料以下记录一下个人对于 CAS 的理解(部分资料 copy 的) 一、CAS 简述 从最基础的 Java 中的 i++ 操作来说,i++ 并非原子操作,实质上相当于先读取 i 值,然后在...