问题现象如图:纠正首先我们要纠正一下上面的图,使用 ingress 暴露服务的时候,结构图应该是下面的样子问题分析负载均衡(slb)的地址一般都是供集群外部使用的,它会被当作 service 的扩展 ip,被 iptables 转发。默认,ingress 创建的 service 的 externalTrafficPolicy 属性 为 Local ,所以 pod a 可以访问 pod c 是因为,正好 pod a 和 ingress 的 pod 在同一个 node 上面,所以 pod a 可以访问所有 ingress 服务而 pod b 和 pod c 不在同一个 node 上面,... ...
阅读全文
【官网 Termination of Pods】因为 pod 是在集群节点运行的程序,当不再需要而删除他们的时候,让他们正常终止是非常重要的。用户应该能够请求删除并知道进程何时终止,而且还能够确保删除最终完成。当用户请求删除Pod时,系统将 TERM 信号发送到 pod 中 每个容器中的主进程,然后等待一个宽限期(grace period),超过宽限期就发送 KILL 信号强制杀死 pod。示例流程:用户发送命令删除Pod,默认宽限期为 30 秒API 服务器中的 Pod 设定宽限期,超过该时间 Pod 被强制删除。在客户端命令中列出时,Pod 显示状态为“正在终止(Terminating)”... ...
阅读全文
k8s svc的externalTrafficPolicy属性 跨node不通 保留客户端源IP
Kuberneters
0
起因k8s上面的一个 pod 调用一个 slb 的 service,时通时不通,现象为:当 pod 调用 svc 的 endpoint 和他同一个 node 就通,不同 node 就超时不通。后来发现是 svc 的属性 externalTrafficPolicy 设置为 local 引起的externalTrafficPolicy 查看帮助这个 属性的目的是 保留 客户单 源 IP 的。详见【官网介绍】[root@tmp opt]# kubectl explain svc.spec.externalTrafficPolicy
KI... ...
阅读全文
Docker 安装 MySQL 表文件区分 大小写问题 lower_case_table_names
Mysql Docker Kuberneters
0
MySQL 大小写敏感规则MySQL中,一个库会对应一个文件夹,库里的表会则以文件的方式存放在文件夹内,所以,操作系统对大小写的敏感性决定了数据库和表的大小写敏感(MySQL有一个只读的系统变量lower_case_file_system,其值反映的正是当前文件系统是否区分大小写)因此:在Windows下Mysql的数据库和表名是大小写不敏感的,而在大多数类型的Unix系统中是大小写敏感的默认情况下MySQL的大小写区分规则在Linux下:1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、变量名也是严格区分大小写的;&n... ...
阅读全文