摘要: Etcd是Kubernetes用于存储集群各种状态信息(配置信息,运行)一个很重要的组件,这篇文章,我们带领大家掀开Etcd的神秘面纱,理解他是如何存储这些各种各样的碎片信息的。在Kubernetes的世界里面,etcd是服务发现,集群状态存储以及其配置的基石。Etcd以集群部署,节点间通信是通过Raft算法处理。在生产环境中,集群包含至少3个节点。 阅读全文
posted @ 2020-01-12 10:58 k8s-kb 阅读(5305) 评论(1) 推荐(0) 编辑
摘要: 环境准备: 三台 master 宕掉两台或三台 在宕掉两台或三台 master 后集群已宕掉,worker 节点中的 pod 可以正常运行,这里考虑机器可以正常修复,并能正常启动。 这里模拟测试: 停掉 192.168.244.12,192.168.244.13 两台 master 机器 让 192 阅读全文
posted @ 2020-01-07 21:11 k8s-kb 阅读(1824) 评论(0) 推荐(0) 编辑
摘要: 在生产环境中 kubernetes 如果仅提供 http 或 https 服务,则可以使用 nginx-ingress 或者 traefik 之类的七层负载均衡软件。当然,也可以通过 NodePort 的方式暴露 http 或 tcp 服务。如果不想直接使用 NodePort 暴露出的那个端口号,而服务器又是运行在阿里云上 阅读全文
posted @ 2020-01-01 21:24 k8s-kb 阅读(2026) 评论(0) 推荐(0) 编辑
摘要: 在搭建Kubernetes集群过程中,安装了kube-dns插件后,运行一个ubuntu容器,发现容器内无法解析集群外域名,一开始可以解析集群内域名,一段时间后也无法解析集群内域名。在排查问题前,先思考一下Kubernetes集群中的DNS解析过程,在安装好kube-dns的集群中,普通Pod的dnsPolicy属性是默认值ClusterFirst,也就是会指向集群内部的DNS服务器,kube-dns负责解析集群内部的域名 阅读全文
posted @ 2019-12-19 14:26 k8s-kb 阅读(2435) 评论(0) 推荐(0) 编辑
摘要: 众所周知的是在构建一个Kubernetes集群时,容器网络通常会使用一个独立的私有子网来构建Kubernetes集群内部的pod网络和service网络,但在实际的业务场景中,没有企业会在一段时间内将内部全部的服务都迁移到Kubernetes集群中(因为涉及到业务架构以及整体业务的可靠性) 阅读全文
posted @ 2019-12-19 13:33 k8s-kb 阅读(2156) 评论(0) 推荐(0) 编辑
摘要: 在处理过的 k8s 集群的众多问题中数据链路的问题往往是最复杂,最难排查的。这需要我们对 k8s 集群的网络通信的过程有着清晰的认识。Docker 通过 veth 虚拟网络设备以及 Linux bridge 实现了同一台主机上的容器网络通信,再通过 iptables 进行 NAT 实现了容器和外部网 阅读全文
posted @ 2019-12-19 11:12 k8s-kb 阅读(1834) 评论(1) 推荐(1) 编辑