漠然

Nothing is impossible to a willing heart!

CI/CD 之 Dockerfile

最近准备整理一下关于 CI/CD 的相关文档,写一个关于 CI/CD 的系列文章,这篇先从最基本的 Dockerfile 书写开始,本系列文章默认读者已经熟悉 Docker、Kubernetes 相关工具 一、基础镜像选择 这里的基础镜像指的是实际项目运行时的基础环境镜像,比如 Java 的 JDK 基础镜像、Nodejs 的基础镜像等;在制作项目的基础镜像时,我个人认为应当考虑...

Teleport 跳板机部署

由于业务需求,以前账号管理混乱,所以很多人有生产服务器的 root 权限;所以目前需要一个能 ssh 登录线上服务器的工具,同时具有简单的审计功能;找了好久找到了这个小工具,以下记录一下搭建教程 一、环境准备 目前准备了 3 台虚拟机,两台位于内网 NAT 之后,一台位于公网可以直接链接;使用时客户端通过工具连接到公网跳板机上,然后实现自动跳转到内网任意主机;并且具有相应的操作回...

Kubernetes 深度学习笔记

本文主要记录下 Kubernetes 下运行深度学习框架如 Tensorflow、Caffe2 等一些坑,纯总结性文档 一、先决条件 Kubernetes 运行深度学习应用实际上要解决的唯一问题就是 GPU 调用,以下只描述 Nvidia 相关的问题以及解决方法;要想完成 Kubernetes 对 GPU 调用,首先要满足以下条件: Nvidia 显卡驱动安装正确 C...

Kubernetes 1.8 kube-proxy 开启 ipvs

Kubernetes 1.8 发布已经好几天,1.8 对于 kube-proxy 组件增加了 ipvs 支持,以下记录一下 kube-proxy ipvs 开启教程 一、环境准备 目前测试为 5 台虚拟机,CentOS 系统,etcd、kubernetes 全部采用 rpm 安装,使用 systemd 来做管理,网络组件采用 calico,Master 实现了 HA;基本环境如下...

Kubernetes 1.8 集群搭建

目前 Kubernetes 1.8.0 已经发布,1.8.0增加了很多新特性,比如 kube-proxy 组建的 ipvs 模式等,同时 RBAC 授权也做了一些调整,国庆没事干,所以试了一下;以下记录了 Kubernetes 1.8.0 的搭建过程 一、环境准备 目前测试为 5 台虚拟机,etcd、kubernetes 全部采用 rpm 安装,使用 systemd 来做管理,网...

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...