域名映射rancher和外部服务
我的rancher部署在了k8s集群中的某个节点,这样会导致如下几个问题:
·
背景
rancher页面访问出问题
我的rancher部署在了k8s集群中的某个节点,并且rancher导入了这个k8s集群,这样会导致该集群无法使用ingress对rancher这个服务进行域名的映射,具体如下:
- rancher页面无法通过443和80这两个https和http端口访问,所以访问rancher的web页面需要显式指定端口,比如rancher页面服务指定的是8888端口,所在主机ip为192.168.236.20,那么需要在浏览器输入192.168.236.20:8888才能访问rancher页面
- rancher界面中使用该k8s的ingress使用域名代理到rancher页面服务
外部服务
偶尔的一些服务是外部服务,并不是通过k8s进行部署的,这个时候怎么通过k8s嗅探到该服务。比如我的k8s中的一个节点,使用docker创建了一个jenkins服务,但并不是通过k8s。这个时候该节点虽然在该集群中,但集群并不能自动嗅探到该jenkins服务,必须要通过手动映射该外部服务。可以使用自定义endpoint的方式实现k8s映射外部服务。
步骤为:
- 创建一个k8s server,可以使用yaml配置文件来生成。
- 使用yaml配置文件生成一个自定义的endpoint
需要注意,生成endpoint的yaml文件中的metadata.name要与创建server的yaml文件中中的name保持一致。
具体可以参考k8s四层负载均衡-自定义endpoint实现映射外部服务
注意,应该使用kubectl
命令创建endpoint,用rancher创建endpoint无法自动匹配外部服务。
更多推荐
已为社区贡献2条内容
所有评论(0)