排查完全陌生的问题,完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战.今天借这篇文章,跟大家分析一例这样的问题.排查过程中,需要理解一些自己完全陌生的组件,比如systemd和dbus.但是排查问题的思路和方法基本上还是可以复用了,希望对大家有所帮助. 问题一直在发生 I'm NotReady 阿里云有自己的Kubernetes容器集群产品.随着Kubernetes集群出货量的剧增,线上用户零星的发现,集群会非常低概率地出现节点NotReady情况.据我们观察,这个问题差不多每个月…
作者 | 声东 阿里云售后技术专家 文章来源:Docker,点击查看原文. 以我的经验来讲,理解 Kubernetes 集群服务的概念,是比较不容易的一件事情.尤其是当我们基于似是而非的理解,去排查服务相关问题的时候,会非常不顺利. 这体现在,对于新手来说,ping 不通服务的 IP 地址这样基础的问题,都很难理解:而就算对经验很丰富的工程师来说,看懂服务相关的 iptables 配置,也是有相当的挑战的. 今天这边文章,我来深入解释一下 Kubernetes 集群服务的原理与实现,便于大家理解…
阿里云K8S集群网络目前有两种方案,一种是flannel方案,另外一种是基于calico和弹性网卡eni的terway方案.Terway和flannel类似,不同的地方在于,terway支持Pod弹性网卡,以及NetworkPolicy功能. 今天这篇文章,我们以flannel为例,深入分析阿里云K8S集群网络的实现方法.我会从两个角度去分析,一个是网络的搭建过程,另外一个是基于网络的通信.我们的讨论基于当前的1.12.6版本. 鸟瞰 总体上来说,阿里云K8S集群网络配置完成之后,如下图,包括集…
作者 | 声东 阿里云售后技术专家 导读:阿里云 K8S 集群网络目前有两种方案:一种是 flannel 方案:另外一种是基于 calico 和弹性网卡 eni 的 terway 方案.Terway 和 flannel 类似,不同的地方在于 terway 支持 Pod 弹性网卡,以及 NetworkPolicy 功能.本文中,作者基于当前的 1.12.6 版本,以 flannel 为例,深入分析阿里云 K8S 集群网络的实现方法. 鸟瞰 总体上来说,阿里云 K8S 集群网络配置完成之后,如下图所…
作者 | 声东 阿里云售后技术专家 导读:相比 K8s 集群的其他功能,私有镜像的自动拉取,看起来可能是比较简单的.而镜像拉取失败,大多数情况下都和权限有关.所以,在处理相关问题的时候,我们往往会轻松的说:这问题很简单,肯定是权限问题.但实际的情况是,我们经常为一个问题,花了多个人的时间却找不到原因.这主要还是我们对镜像拉取,特别是私有镜像自动拉取的原理理解不深.这篇文章,作者将带领大家讨论下相关原理. 顺序上来说,私有镜像自动拉取会首先通过阿里云 Acr credential helper 组…
目录 1.环境说明 2.准备工作 3.分步骤安装 3.1.创建证书和安装准备 3.2.安装etcd集群 3.3.安装docker 3.4.安装master节点 3.5.安装node节点 3.6.部署集群网络 3.7.部署集群插件(dns,dashboard) 3.8.测试DNS解析 学习文档:https://github.com/gjmzj/kubeasz/ 1.环境说明 IP 主机名 角色 虚拟机配置 192.168.56.11 k8s-master deploy.master1.lb1.et…
kubernetes集群节点多网卡,calico指定网卡 1.calico如果有节点是多网卡,所以需要在配置文件中指定内网网卡 spec: containers: - env: - name: DATASTORE_TYPE value: kubernetes - name: IP_AUTODETECTION_METHOD # DaemonSet中添加该环境变量 value: interface=eth0 # 指定内网网卡 - name: WAIT_FOR_DATASTORE value: "tr…
在kubernetes中,有HPA在需要的时候创建更多的pod实例.但万一所有的节点都满了,放不下更多pod了,怎么办?显然这个问题并不局限于Autoscaler创建新pod实例的场景.即便是手动创建pod,也可能碰到因为资源被已有pod使用殆尽,以至于没有节点能接收新pod的清况. 在这种情况下,需要删除一些已有的pod, 或者纵向缩容它们,抑或向集群中添加更多节点.如果Kubernetes集群运行在自建基础架构上,那得添加一台物理机,并将其加入集群.但如果集群运行于云端基础架构之上,添加新的…
目录 k8s高可用架构解析 Kubeadm基本环境配置 Kubeadm系统及内核升级 Kubeadm基本组件安装 Kubeadm高可用组件安装 Kubeadm集群初始化 高可用Master及Token过期处理 Kubeadm Node及Calico节点配置 Dashboard&Metrics Server安装 k8s高可用架构解析 Etcd Cluster:键值数据库,存放k8s的数据,比如我们创建的资源,所做的变更 Master:控制节点,控制整个集群 Node:主要用来跑pod和容器 Kub…
目录 二进制高可用基本配置 二进制系统和内核升级 二进制基本组件安装 二进制生成证书详解 二进制高可用及etcd配置 二进制K8s组件配置 二进制使用Bootstrapping自动颁发证书 二进制Node节点及Calico配置 二进制高可用基本配置 k8s高可用架构解析,高可用Kubernetes集群规划,设置静态ip,请参考上一篇文章 配置所有节点hosts文件(发送键输到入所有会话) vim /etc/hosts 127.0.0.1 localhost localhost.localdoma…