Rancher常见问题

Rancher常见问题

1. 无法均衡负载,nodeport端口只有一台机器能访问

只能访问一台宿主机的nodeport,并且还是pod所在那台机器,出现这种问题很大原因是因为,跨集群网络有问题,或本地防火墙问题,排查思路如下:
在宿主机本机telnet localhost:nodeort看看是否能通,本机能通,在集群内互相telnet测试,如果不能通根部署环境网络有很大关系,建议联系网络管理员进行排查。
如果本机telnet也不能通,进行如下测试。
a、首先我们需要或取对应的pod 信息
比如我这个test-6b4cdf4ccb-7pzt6在rancher-kf-worker01节点上,它的ip为10.42.3.23
b、先在pod所在的宿主机上然后在另外几个节点去ping这个ip,看看能否ping通,在canal网络模式下,请检查防火墙端口8472/UDP是否开放。查看每天机器上是否有尝试使用每台机器的flannel.1网卡,用的话,用flannel.1上的ip互相ping,看看是否能通,因为flannel网络和canal网络是通过flannel.1网卡互相建立vxlan遂道的。建议操作在关闭防火墙的情况下测试。

2. 负载均衡时同一个客户端的请求被路由回服务器集群中的不同服务器,也就是说同一个IP的请求会被平均分配给所有的pod。

在Kubernetes的service中是可以设置Session Affinity。粘性会话会基于客户端访问服务的ip进行hash运算后把同一ip的请求路由到同一个pod.这样通过nodePort方式过来的请求就不会平均分发了。
在rancher中需要通过设置负载均衡的标签来实现,在负载均衡中的annotations添加以下标签

nginx.ingress.kubernetes.io/affinity: cookie
nginx.ingress.kubernetes.io/session-cookie-hash: sha1
nginx.ingress.kubernetes.io/session-cookie-name: route

如图:

均衡负载配置

均衡负载配置yaml

3. 上传大于1M的文件,报"413 Request Entity Too Large"

比如我们的 /api 有上传文件的需求,而默认的请求尺寸最大为 1m 会导致文件上传报错 413,通过添加注解 nginx.ingress.kubernetes.io/proxy-body-size 可以指定请求大小限制

上传大小限制配置yaml

上传大小限制配置yaml

4. ingress 配置ssl证书后http重定向到https

ingress默认开启https跳转,但是不是强制跳转,只有ingress配置了证书后才会开启重定向
添加注解关闭重定向

nginx.ingress.kubernetes.io/ssl-redirect: "false"
kubernetes.io/ingress.allow-http: "true"

5. 数据卷挂载configmap因权限不够,容器加载配置文件未能生效

当通过configmap方式挂载配置文件时,数据卷的默认模式为400,这时我们在容器里看到挂载的配置文件权限是"-r--------",如果我们容器中运行的程序要求用户为非root用户时,例如mysql、mariadb。我们挂载进容器的配置文件就无法被程序读取,配置文件也就无法生效了。
解决方法只需要根据程序的运行要求给足相应的权限即可,例如只读444或644

数据卷默认模式400

默认权限

6. 采用 annotation 对特定服务做配置

默认的 nginx 配置未必适合我们的服务,访问 Nginx Configuration 可以看到 ingress-nginx 所提供的三种 nginx 配置方式。其中 ConfigMaps 可以实现对 nginx 默认配置的修改;而 ingress annotation 则可以实现对特定 ingress 进行配置。
每次修改 ingress 后,nginx-ingress-controller 会默认更新 nginx.conf,立即生效。

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!

添加新评论

  关于博主

从2014年开始建立博客,中间经历了无数次的折腾。从最早的vps到虚拟主机、独立服务器、阿里云服务器,部署环境也从手动编译到现在使用的kubernetes及docker。现在这个域名是2018年开始使用,开始写博客、代码。我希望自己的博客,是一张名片。来的人,有所收获。故事不结束,青春不散场。

  近期评论

  分类目录

要铭记在心:每天都是一年中最美好的日子。

生活远没有咖啡那么苦涩,关键是喝它的人怎么品味!每个人都喜欢和向往随心所欲的生活,殊不知随心所欲根本不是生活。

如果错过了太阳时你流泪了,那么你也要错过群星了。

不如意的时候不要尽往悲伤里钻,想想有笑声的日子吧。

我不明白为什么要那么在意别人的看法,评头论足只是无聊人的消遣,何必看得如临大敌。如果你不吃别人家的饭,就别太把别人的话放在心上。