Kubernetes 从1.11到1.12升级记录
Kubernetes 1.13已经发布。我们线上的版本升级都是按照比官方低一个版本的节奏。 因此可以开始考虑将团队线上环境的Kubernetes集群从1.11升级到1.12了。 本文记录了在测试环境中的演练过程。 1.准备 当前Kubernetes 1.12的小版本是1.12.5。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.12 - Action Required Before Upgrading。
Kubernetes 1.13已经发布。我们线上的版本升级都是按照比官方低一个版本的节奏。 因此可以开始考虑将团队线上环境的Kubernetes集群从1.11升级到1.12了。 本文记录了在测试环境中的演练过程。 1.准备 当前Kubernetes 1.12的小版本是1.12.5。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.12 - Action Required Before Upgrading。
Kubernetes Ingress实战(一):在Kubernetes集群中部署NGINX Ingress Controller Kubernetes Ingress实战(二):使用Ingress将第一个HTTP服务暴露到集群外部 Kubernetes Ingress实战(三):使用Ingress将gRPC服务暴露到Kubernetes集群外部 Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用 Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS) Kubernetes Ingress实战(六):Bare metal环境下Kubernetes Ingress边缘节点的高可用,Ingress Controller使用hostNetwork 前面在Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用 和Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS)中Bare metal环境下Kubernetes Ingress边缘节点的高可用的两种方法,都是基于externalIps来暴露nginx-ingress-controller的Service到集群外部的,前者的kube-proxy没有开启IPVS,后者的kube-proxy开启了IPVS。
前段时间测试将一套Kubernetes环境的kube-proxy切换成了ipvs模式,参见Kubernetes kube-proxy开启IPVS模式。 这套Kubernetes集群上主要运行http restful和gRPC两类服务,切换后这段时间还算稳定,只是最近某些客户端服务在调用gRPC服务时小概率出现Connection reset by peer的错误。
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
Kubernetes 1.8关于资源使用情况的metrics(例如容器的CPU和内存),可以通过Metrics API获取到。 前面在做Kubernetes 1.11的升级工作时,Kubernetes 1.11已经废弃heapster那套监控的东东。因此是时候了解一下Kubernetes的Metrics API和Metrics Server了。
Kubernetes Ingress实战(一):在Kubernetes集群中部署NGINX Ingress Controller Kubernetes Ingress实战(二):使用Ingress将第一个HTTP服务暴露到集群外部 Kubernetes Ingress实战(三):使用Ingress将gRPC服务暴露到Kubernetes集群外部 Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用 Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS) Kubernetes Ingress实战(六):Bare metal环境下Kubernetes Ingress边缘节点的高可用,Ingress Controller使用hostNetwork 前面我们基于Keepavlied实现了Kubernetes集群边缘节点的高可用,详见《Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用》。当kube-proxy开启了ipvs模式后,可以不再使用keepalived,ingress controller的采用externalIp的Service,externalIp指定的就是VIP,由kube-proxy ipvs接管。试验环境如下:
IPVS(IP Virtual Server)是lvs项目的一部分,作为Linux内核的一部分,提供4层负载均衡器的功能,即传输层负载均衡。ipvs运行在主机内核中,作为真是服务器集群前的负载均衡器,将到对服务的请求转发到真实的服务器上,并将多个ip的真实服务器集群的服务显示为单个ip的虚拟机服务。
1.Kubernetes基于DNS的服务发现 在Kubernetes集群推荐使用Service Name作为服务的访问地址,因此需要一个Kubernetes集群范围的DNS服务实现从Service Name到Cluster Ip的解析,这就是Kubernetes基于DNS的服务发现功能。 在从Kubernetes 1.10开始Dynamic Kubelet Configuration特性进入beta阶段,kubelet的大多数命令行参数都改为推荐在--config指定位置的配置文件中进行配置,包括---cluster-dns和--cluster-domain两个参数,在kubelet的配置文件中配置如下:
Kubernetes 1.12已经发布。我们线上的版本升级都是按照比官方低一个版本的节奏。 因此可以开始考虑将团队线上环境的Kubernetes集群从1.10升级到1.11了。 本文记录了在测试环境中的演练过程。 1.准备 当前Kubernetes 1.11的小版本是1.11.3。 在升级之前一定要多读几遍官方的升级须知Kubernetes 1.11 - Action Required Before Upgrading。
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。