📅 2018-10-03
Kubernetes 1.12已经发布。我们线上的版本升级都是按照比官方低一个版本的节奏。
因此可以开始考虑将团队线上环境的Kubernetes集群从1.10升级到1.11了。
本文记录了在测试环境中的演练过程。
1.准备
#
当前Kubernetes 1.11的小版本是1.11.3。
在升级之前一定要多读几遍官方的升级须知Kubernetes 1.11 - Action Required Before Upgrading。
...📅 2018-10-02
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...📅 2018-09-18
前面我们在Kubernetes上部署了Istio 1.0并实际操作了一下官方示例应用及流量管理的基本功能。本篇将总结一下Istio的基本概念,加深理解。
1.0 Istio的定义
#
istio的官网https://istio.io/首页上用一句话描述了istio的定义:Istio Connect, secure, control, and observe services.
,即Istio用来连接、保护、控制、观测服务。
...📅 2018-09-16
1.Kubernetes边缘节点的单点故障
#
经过前面几篇对Ingress的学习,我们已经可以在一个Kubernetes中部署nginx ingress,同时可以将集群中的两类服务HTTP和gRPC暴露到集群外部。
本篇将主要关注一下Bare metal环境下Kubernetes Ingress边缘节点高可用相关的问题。我们的线上环境并没有使用公有云,因此无法使用各种共有云提供的ingress controller。
...📅 2018-09-12
为什么要管理TLS Secret证书
#
使用ingress将服务以https暴露到集群外边时,需要ssl证书。在https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx/examples/tls
这个例子中, ingress的定义如下:
...📅 2018-09-05
Promtheus的时序数据库在存储了大量的数据后,每次重启Prometheus进程的时间会越来越慢。
而在日常运维工作中会经常调整Prometheus的配置信息,实际上Prometheus提供了在运行时热加载配置信息的功能。
Prometheus配置的热加载
#
Prometheus配置信息的热加载有两种方式:
...📅 2018-09-04
helm作为Kubernetes的包管理器,典型的C/S架构:
- helm:命令行工具,一般安装在CI/CD Server上使用
- tiller: 是helm的服务端,部署在Kubernetes上,管理Release
这里记录一下测试环境Kubernetes集群的helm从v2.10.0-rc.3
升级到v2.10.0
的过程。
之前提前使用v2.10.0-rc.3
的原因,是因为helm 2.10开始支持--kubeconfig
,这样我们就很容易在CI/CD Server上同时使用helm访问多个Kubernetes集群。
...📅 2018-08-28
故障注入是指将故障注入系统,便于检查系统在存在故障时的行为,以检查系统的可用性方面是否按我们期望的方式运行。
本篇将参考Istio的Tasks文档Fault Injection体验Istio在流量管理方面的故障注入功能。
继续使用前面已经部署好的bookinfo应用,执行下面的命令初始化bookinfo应用的路由:
...📅 2018-08-24
使用Istio可以根据权重和HTTP header配置动态请求路由,根据权重和HTTP header将请求路由到同一个微服务的不同版本。
前面我们部署的Bookinfo示例应用由4个独立的微服务组成。
其中对于reviews Service部署了从v1到v3三个不同的版本。
...