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