开源容器openshift学习笔记(1):添加Router组件

开篇之前如果没有安装openshift环境可以参考我的博文:centos7下安装openshift

本系列博客学习笔记参考《开源容器云openshift》一书:下载连接:https://download.csdn.net/download/u012371097/10745382

Router是openshift集群中的一个重要组件,它是外部访问集群内容器应用的入口。 集群外部的请求都会到达Router,由Router分发到具体的容器中。

  Router组件需要读取集群的信息,所以它需要关联一个系统账号Service Account,并为这个账号授权。

以下操作基于oc(命令行客户端)指令实现。

  • 以管理员登录,并切换到default工程。

        oc login -u system:admin

     切换到default工程

      oc project default

  创建Router。 

oc adm policy add-scc-to-user privileged system:serviceaccount:default:router

oc adm router router --replicas=1 --service-account=router

在实际生产时,为了达到高可用的效果,可以通过设置--replicas创建夺个Router实例实现负载均衡并防止单点失效。

查看Router状态。

oc get pod -n default

 ss -ltn|egrep -w "80|443"

通过检查实验主机上的端口监听状态,可以发现主机的端口80、443正在被Haproxy监听。

从技术上来说,Router就是一个运行在容器里的Haproxy,

至此,Router组件部署已经完成。

之后,用户可以创建route对象,称为route规则,一个route规则会与一个service相关联,并且绑定一个域名。

route规则会被Router加载。当用户通过指定的域名访问应用时,域名会被解析并指向Router所在的计算节点上。Router获取这个请求后,会根据route规则定义转发给与这个域名对应的service后端相关联的Pod容器实例。

猜你喜欢

转载自blog.csdn.net/u012371097/article/details/83410734