TKE学习笔记
最后更新于
最后更新于
该文章介绍了在TKE学习使用过程中的一些记录,tke集群中的各类组件如何选择。
GlobalRouter模式是在每个节点下起一个agent从整个VPC中指定一个子网进行通信和数据的传输。该模式其实就是在VPC下为每个节点分配一个子网进行网络通讯和传输
VPC-CNI模式是在某个VPC下提前规划好多个子网,pod服务通过每个节点上的弹性网卡从子网中随机分配ip来进行pod之间的通讯和数据传输。固定IP模式其实就是单独固定某个子网作为pod的ip和service分配使用。
绝大多数情况下应该选择 GlobalRouter,容器网段地址充裕,扩展性强,能适应规模较大的业务
如果后期部分业务需要用到 VPC-CNI 模式,可以在 GlobalRouter 集群再开启 VPC-CNI 支持,也就是 GlobalRouter 与 VPC-CNI 混用,仅对 部分业务使用 VPC-CNI 模式
如果完全了解并接受 VPC-CNI 的各种限制,并且需要集群内所有 Pod 都用 VPC-CNI 模式,可以创建集群时选择 VPC-CNI 网络插件
docker运行容器,主要是通过kubelet调用dockerd的进程,调用docker-containerd接口去启动对应的容器
containerd则主要是kubelet通过CRI插件去调用containerd的api接口来启动容器
containerd 方案由于绕过了 dockerd,调用链更短,组件更少,占用节点资源更少,绕过了 dockerd 本身的一些 bug,但 containerd 自身也还存在一些 bug (已修复一些,灰度中)
docker 方案历史比较悠久,相对更成熟,支持 docker api,功能丰富,符合大多数人的使用习惯
推荐使用docker方式,这样可以调用docker api以及命令,如果想对docker做优化也可以执行
iptables支持的小场景下应用,更加稳定
IPVS为大型集群提供了更好的可扩展性和性能。(规则的存储方式使用的数据结构更高效)
IPVS支持比iptables更复杂的负载平衡算法(最小负载,最少连接,位置,加权等)。
IPVS支持服务器健康检查和连接重试等。
129-255 表示进程因外界中断信号退出,最常见的是 137,表示被 SIGKILL 杀死,可能是 Cgroup OOM,系统 OOM,存 活检查失败或者被其它进程杀死导致
1-128 表示进程主动退出 (只是约定),具体状态码含义取决于应用程序逻辑;有时主动退出也会是 255 状态码: 代码里使 用类似 exit(-1) 时,-1 被自动转成 255,通常状态码为 1 和 255 是一般性错误,看不错具体含义,需要结合日志分析
nsenter命令仅进入该容器的网络命名空间,使用宿主机的命令调试容器网络
进入之后可以执行对应的ip address,ping,telnet,ss,tcpdump命令等
现在的版本中集群中如果节点使用TKE订制镜像,无法修改pod的内核参数,如果需要支持内核参数的修改,可以采用官方的centos和ubuntu镜像。