背景

rancher页面访问出问题

我的rancher部署在了k8s集群中的某个节点,并且rancher导入了这个k8s集群,这样会导致该集群无法使用ingress对rancher这个服务进行域名的映射,具体如下:

  1. rancher页面无法通过443和80这两个https和http端口访问,所以访问rancher的web页面需要显式指定端口,比如rancher页面服务指定的是8888端口,所在主机ip为192.168.236.20,那么需要在浏览器输入192.168.236.20:8888才能访问rancher页面
  2. rancher界面中使用该k8s的ingress使用域名代理到rancher页面服务

外部服务

偶尔的一些服务是外部服务,并不是通过k8s进行部署的,这个时候怎么通过k8s嗅探到该服务。比如我的k8s中的一个节点,使用docker创建了一个jenkins服务,但并不是通过k8s。这个时候该节点虽然在该集群中,但集群并不能自动嗅探到该jenkins服务,必须要通过手动映射该外部服务。可以使用自定义endpoint的方式实现k8s映射外部服务。
步骤为:

  1. 创建一个k8s server,可以使用yaml配置文件来生成。
  2. 使用yaml配置文件生成一个自定义的endpoint

需要注意,生成endpoint的yaml文件中的metadata.name要与创建server的yaml文件中中的name保持一致。

具体可以参考k8s四层负载均衡-自定义endpoint实现映射外部服务
注意,应该使用kubectl命令创建endpoint,用rancher创建endpoint无法自动匹配外部服务。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐