2018-09-14
为什么要将gRPC服务暴露到Kubernetes集群外部
#
在实践中我们的微服务使用下面的集成方式:
...
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三个不同的版本。
...
2018-08-23
前面我们已经将Istio 1.0.0安装到了Kubernetes集群中,本篇我们将会将示例应用Booinfo跑起来。
1.Bookinfo示例应用概述
#
Bookinfo这个示例应用由4个独立的微服务组成,Istio使用这个应用来演示Istio的Service Mesh的各种功能。
Bookinfo应用的端到端架构图如下:
...
2018-08-22
Istio已经发布了可以用于生产的1.0版本,这里也跟进一下。首先,我们需要在Kubernetes上安装Istio,这里将实验基于安装包安装方式。
本文的实验环境是Kubernetes 1.11。
istio的文档中说istio 1.0需要Kubernetes 1.9或更高版本,需要Kubernetes的CRD(自定义资源定义)功能
...
2018-08-17
Kubernetes 1.11已经发布一个多月了。我们线上的版本都是按照比官方最新版本低一个版本的节奏。
因此可以开始考虑将团队线上环境的Kubernetes集群从1.9升级到1.10了。
本文记录了在测试环境中的演练过程。
1.准备
#
当前Kubernetes 1.10的小版本是1.10.6。
在升级之前一定要多读几遍官方的升级须知Kubernetes 1.10 - Action Required Before Upgrading。
...
2018-08-08
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...