阿里云Kubernetes实战2--搭建基础服务

前言:

在系列的第一篇文章中,我已经介绍过如何在阿里云基于kubeasz搭建K8S集群,通过在K8S上部署gitlab并暴露至集群外来演示服务部署与发现的流程。文章写于4月,忙碌了小半年后,我才有时间把后续部分补齐。系列会分为三篇,本篇将继续部署基础设施,如jenkins、harbor、efk等,以便为第三篇项目实战做好准备。

需要说明的是,阿里云迭代的实在是太快了,2018年4月的时候,由于SLB不支持HTTP跳转HTTPS,迫不得已使用了Ingress-Nginx来做跳转控制。但在4月底的时候,SLB已经在部分地区如华北、国外节点支持HTTP跳转HTTPS。到了5月更是全节点支持。这样以来,又简化了Ingress-Nginx的配置。

1

一、Jenkins

阅读更多

Docker 入门教程

该教程仅对docker常用操作进行了总结归纳

一、 什么是Docker

Docker是2013年,dotCloud用Golang开发的基于LXC的高级容器引擎

1.1 什么是LXC

Linux Container的简写。可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于C++中的NameSpace

阅读更多

我的三十岁

孔老夫子说:“吾十有五,而志于学。三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩” 。然而我的而立之年,却是感受了两次“死亡”……

1. 失落的2017

2017,疾病先后夺去了我父亲和祖父的生命,整个家庭乃至整个家族都被巨大的阴霾所笼罩。我不清楚我和我的家人究竟是如何熬过这一年的,但在2018新年钟声敲响的那一刻,所有人都满怀希望,祈祷新的生活,美好的生活。

2. 万蛊蚀心

2018.02

阅读更多

阿里云Kubernetes实战1--集群搭建与服务暴露

前言:

考虑到公司持续集成与docker容器技术实施已有一段时间,取得了不错的效果,但对于设备运维、系统隔离、设备利用率和扩展性还有待提升,综合目前比较成熟的微服务技术,打算把现有业务迁移到K8S集群。

由于公司所有业务均部署在阿里云上,最开始就调研了阿里云自己提供的Kubernetes集群,但后来还是放弃了,主要考虑几方面:

  • 阿里云K8S集群尚不成熟,使用的版本也相对较老,不能及时更新版本
  • 阿里云K8S集群目前只支持多主多从结构,同时限定Master节点只能是3个,不能增减,这对于小型业务或者巨型业务均不适用
  • 自建原生K8S集群更有利于拓展和理解整体结构

接下来会详细介绍在阿里云搭建原生Kubernetes集群的过程。

阅读更多

RabbitMQ 基础介绍

一、什么是RabbitMQ

RabbitMQ是一个消息代理。

RabbitMQ基于AMQP协议用Erlang编写。

什么是AMQP?

  • AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。
阅读更多

用Docker搭建企业私有云盘NextCloud

前言

本文涉及的操作系统、软件平台和其他环境如下:

  • 云盘服务器
    • CentOS 7
    • WD红盘/阵列盒(可选)
    • 所在网络需要有公网IP
    • Docker CE
    • Docker Compose
    • Nginx with SSL
  • 阿里云
    • DNS
    • CA证书

一、安装Docker

1.1 关闭selinux

阅读更多

Scrum实施总结(一)

一、团队简介

1.1 团队组成

Dev Team:

  • 后台开发 * 1
  • 前端开发 * 1
  • 客户端开发 * 1
  • 测试 * 1

PO:

阅读更多

持续集成CI实施指南四--jenkins用户权限管理

jenkins默认的权限管理不支持用户分组或者按项目划分权限,所以如果团队有这种需求,需要安装插件。下面将介绍使用插件来实现用户角色的管理。

一、使用插件

1.1 安装插件

安装Role-based Authorization Strategy插件

1

阅读更多

持续集成CI实施指南三--jenkins集成测试

前面几篇文章主要讲了jenkins搭建和项目构建相关内容,已经能满足自动编译,自动部署等功能,但还差一项很重要的工作:自动化测试!

作为敏捷开发必不可少的工作,我们需要每次构建后都要跑一遍自动化测试,做全量回归,如果有需要还有冒烟测试。那么下面就来介绍如何实现每次构建项目后自动执行一个自动化测试任务。

一、节点管理

一般来说,测试都基于windows操作系统,比如用selenium编写web项目的自动化测试,用teststack.white编写client项目自动化测试。而我们的jenkins是通过docker容器安装部署的,实际是linux环境,这里就会遇到操作系统不兼容的问题。

事实上,不仅仅是需要测试才会遇到这种情况,如果我们要通过jenkins for docker部署一个.net framework 项目,也是同样的问题。

阅读更多