漠然

Nothing is impossible to a willing heart!

Alpine 3.6 OpenJDK 8 Bug

最近切换项目基础镜像踩到一个大坑,由于 alpine 基础镜像和 OpenJDK8 Bug 导致鼓捣了2天才解决,故记录一下这个问题 一、问题环境 出现问题的基本环境如下 OpneJDK 8u131 Alpine 3.6 Kaptcha (Java 验证码库) 二、问题描述 出现问题表象为 Spring Boot 项目启动后,访问注册页(有验证码)时,验证码...

Consul 集群搭建

不知道 Consul 用的人多还是少,最近有人问怎么搭建 Consul 集群,这里顺手记录一下吧 一、简介 Consul 与 Etcd 一样,都属于分布式一致性数据库,其主要特性就是在分布式系统中出现意外情况如节点宕机的情况下保证数据的一致性;相对于 Etcd 来说,Consul 提供了更加实用的其他功能特性,如 DNS、健康检查、服务发现、多数据中心等,同时还有 web ui ...

阿里云部署 Kubernetes

公司有点小需求,在阿里云上开了几台机器,然后部署了一个 Kubernetes 集群,以下记录一下阿里云踩坑问题,主要是网络组件的坑。 一、部署环境 部署时开启了 4 台 ECS 实例,基本部署环境与裸机部署相似,其中区别是,阿里云网络采用 VPC 网络,不过以下流程适用于经典网络;以下为各个组件版本: OS CentOS Kernel 4.4.88-1.el7.elr...

CI/CD Git Flow

由于 git 代码管理比较混乱,所以记录一下 Git Flow + GitLab 的整体工作流程 一、Git Flow 简介 Git Flow 定义了一个围绕项目开发发布的严格 git 分支模型,用于管理多人协作的大型项目中实现高效的协作开发;Git Flow 分支模型最早起源于 Vincent Driessen 的 A successful Git branching mode...

Calico 部署踩坑记录

自从上次在虚拟机中手动了部署了 Kubernetes 1.7.2 以后,自己在测试环境就来了一下,结果网络组件死活起不来,最后找到原因记录一下 一、Calico 部署注意事项 在使用 Calico 前当然最好撸一下官方文档,地址在这里 Calico 官方文档,其中部署前需要注意以下几点 官方文档中要求 kubelet 配置必须增加 --network-plugin=cni...

手动档搭建 Kubernetes HA 集群

以前一直用 Kargo(基于 ansible) 来搭建 Kubernetes 集群,最近发现 ansible 部署的时候有些东西有点 bug,而且 Kargo 对 rkt 等也做了适配,感觉问题已经有点复杂化了;在 2.2 release 没出来这个时候,准备自己纯手动挡部署一下,Master HA 直接抄 Kargo 的就行了,以下记录一下;本文以下部分所有用到的 rpm 、配置文件...

Kubernetes RBAC

基于角色的访问控制使用 rbac.authorization.k8s.io API 组来实现权限控制,RBAC 允许管理员通过 Kubernetes API 动态的配置权限策略。在 1.6 版本中 RBAC 还处于 Beat 阶段,如果想要开启 RBAC 授权模式需要在 apiserver 组件中指定 --authorization-mode=RBAC 选项。 一、API Over...

How to build Kubernetes RPM

一直使用 Centos 运行 Kubernetes,有些时候基于二进制部署的情况下,手动复制二进制文件和创建 Systemd service 配置略显繁琐;最近找了一下 Kubernetes RPM 的 build 方式,以下记录一下 build 过程 一、RPM build 方式选择 目前我所知道的 build kubernetes RPM 的方式(测试过)总共 3 种,大致分...

Kubernetes 使用 Ceph 存储

本文主要记录一下 Kubernetes 使用 Ceph 存储的相关配置过程,Kubernetes 集群环境采用的 kargo 部署方式,并且所有组件以容器化运行 一、基础环境准备 Kubernetes 集群总共有 5 台,部署方式为 kargo 容器化部署,采用 kargo 部署时确保配置中开启内核模块加载( kubelet_load_modules: true );Kubern...

Ceph 笔记(二)

本篇文章主要简述了 Ceph 的存储对象名词解释及其含义,以及对 Ceph 集群内 CRUSH bucket 调整、PG/PGP 参数调整等设置;同时参考了一些书籍资料简单的概述一下 Ceph 集群硬件要求等 一、Ceph 组件及定义 1.1、对象 对象是 Ceph 中最小的存储单元,对象是一个数据和一个元数据绑定的整体;元数据中存放了具体数据的相关属性描述信息等;Ceph 为...