青蛙小白
#Istio

Istio学习的开始(一):在Kubernetes安装Istio

Istio是由Google, IBM, Lyft开源的Service Mesh项目。 Istio的Introduction中说它是一个用来连接、管理和保护微服务的开放平台。 因为是个人学习Istio的开篇,对Istio概念的第一印象先停留在前面一句话上,本篇的目标是先在我们的k8s集群上部署Istio。 安装Istio 注意Istio还在快速发展,这里安装的是最新的Istio 0.2.9,后续的版本极有可能发生变化,本来也是学习和体验这里就不废话了。 当前的Istio要求在Kubernetes 1.7.4及以上版本,要求k8s集群开启RBAC,另外kubectl的版本也需要是1.7以后的版本。

#Mysql

MySQL从库的Crash Safe

最近测试环境的一个三节点的MySQL GR集群(单主)的一个从节点发生了宕机,重启恢复后,过了一会监控系统告警,刚刚宕机的这个节点退出了GR集群。原因是主库上对某条数据的修改复制到从库后,在这个从库上找不到这条数据(slave_exec_mode=STRICT),第一反应就是主库和从库出现了不一致。因为是测试环境,数据量不大,所以采取的方案是将从库重建(团队没有专门的DBA)。接下来特意查看了一下MySQL复制和从库宕机恢复这块的资料。

#Kubernetes

Kubernetes 1.6到1.7升级记录

最近正在制定将团队生产环境的Kubernetes集群从1.6升级1.7的计划。 Kubernetes 1.8已经发布,所以准备考虑从1.6到1.7的升级。 准备 当前1.7的最新版本是1.7.8。在做准备之前需要仔细读一遍官方的Kubernetes 1.7 - Action Required Before Upgrading。 使用ansible升级k8s的核心组件 目前我们总共有两个高可用的Kubernetes集群,分别是测试环境和生产环境,版本都是1.6.10。 这两套环境的Kubernetes集群都是基于ansible自动部署,在1.6.x的每个小版本的升级也都是使用ansible完成。

#Kubernetes

使用kubeadm安装Kubernetes 1.8

kubeadm是Kubernetes官方提供的快速安装和初始化Kubernetes集群的工具,目前的还处于孵化开发状态,伴随Kubernetes每个版本的发布都会同步更新。 当然,目前的kubeadm是不能用于生产环境的。 但伴随着Kubernetes每次版本升级,kubeadm都会对集群配置方面的一些实践做调整,通过实验kubeadm我们可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

#Openvpn

团队环境:OpenVPN安装

为了方便团队成员从异地访问开发环境,考虑使用OpenVPN搭建虚拟局域网。部署的环境和版本信息如下: CentOS 7 OpenVPN 1.easy-rsa生成证书 从这里下载easy-rsa。 unzip easy-rsa-old-master.zip cd easy-rsa-old-master/easy-rsa/2.0 ls build-ca build-key-pkcs12 inherit-inter pkitool build-dh build-key-server list-crl revoke-full build-inter build-req openssl-0.9.6.cnf sign-req build-key build-req-pass openssl-0.9.8.cnf vars build-key-pass clean-all openssl-1.0.0.cnf whichopensslcnf ln -s openssl-1.0.0.cnf openssl.cnf 可修改vars文件中定义的变量用于生成证书的基本信息。下面生成CA证书: