美文网首页
项目在Rancher环境遇到的问题

项目在Rancher环境遇到的问题

作者: pilisiyang | 来源:发表于2019-11-18 14:28 被阅读0次
    1. spring cloud项目用rancher部署的时候,eureka 注册的问题。

    在rancher部署一个 Deployment 以后,它随即创建了一个 类型为 ClusterIP 的 service 还有相应的 pod ,每个 Pod 被分配一个独立的IP地址,service 和 pod 的网络命名空间是不同的。

    这就导致了以前那种微服务往 eureka 里注册 IP 的方法行不通了,eureka 里注册的是 pod 的IP,从 service 出发找 pod 的 IP 显然是找不到的。

    那就要用到 service 的 DNS 模式了,service 会以 my-svc.my-namespace.svc.cluster.local 这种名字的形式被指派给一个 DNS 记录,经过解析以后就是 service 的 Cluster IP,在同一个命名空间里,通过 service 的名字就可以找到这个服务。

    改变 eureka 注册方式,将 service 的名字注册进eureka。

    eureka.instance.hostname=service-name
    eureka.instance.prefer-ip-address=false
    

    其实在k8s的环境下,并不需要再用 eureka 了,Service 的 ClusterIP 是和它的生命周期绑定唯一的, Pod 通过 endpoints 暴露出来,service Selector 将负载均衡的引导进 Endpoint 中,实质上已经做了 eureka 服务治理的功能。

    1. 服务配置 NodePort 模式无效。

    docker 在 1.13 版本之后,将系统iptables 中 FORWARD 链的默认策略设置为 DROP
    ,最简单的解决方法就是在每台node上修改 iptables -P FORWARD ACCEPT

    nodePort not responding on all nodeIPs

    1. MySQL镜像挂载配置不生效的问题。

    查看日志发现,启动时 Warning: World-writable config file ‘/etc/my.cnf’ is ignored 有这个警告,原来是让同事挂载 MySQL 配置的时候,他将配置文件权限给了777,MySQL 认为有安全隐患就将配置给忽略了,将权限改成644(用户可读写,其他用户不可写)后解决了。

    相关文章

      网友评论

          本文标题:项目在Rancher环境遇到的问题

          本文链接:https://www.haomeiwen.com/subject/udxbictx.html