漠然

Nothing is impossible to a willing heart!

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 值,然后在...

Logical Volume Manager 笔记

Logical Volume Manager 简称 LVM,LVM 是一种可用在Linux内核的逻辑分卷管理器;可用于管理磁盘驱动器或其他类似的大容量存储设备;LVM 依赖于 内核 device mapper 机制,可以实现动态伸缩逻辑卷大小,而屏蔽底层硬件变化,为后期磁盘扩展提供便利 一、LVM 简介 LVM 技术依据底层内核的 device mapper 机制,聚合底层硬件存...

利用 frp 进行内网穿透

最近新入了一台小主机,家里还有个树莓派,索性想通过小主机跑点东西,然后通过外网访问家里的设备;不过鉴于大天朝内网环境,没有公网 IP 并且多层路由的情况下只能选择使用内网穿透方案,以下记录了一下使用 frp 进行内网穿透的过程 一、内网穿透原理 简单地说,内网穿透依赖于 NAT 原理,根据 NAT 设备不同大致可分为以下 4 大类(前3种NAT类型可统称为cone类型): ...

Git 使用 socks5 代理

Fuck GFW! 最近伟大的墙又开始搞事情,导致 gayhub 访问奇慢,没办法研究一下 socks5 代理 git,效果还不错 一、Mac & Ubuntu 下代理 git git 目前支持 4 种协议: https、ssh、git、本地文件;其中 git协议与 ssh 协议及其类似,暂不清楚底层实现,不过目前发现只需要成功代理 ssh 协议就可以实现代理 git;不...