openshift/origin学习记录(2)——添加Router组件

学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。

本部分是在openshift/origin学习记录(1)——基于二进制文件的安装(单机版)的基础上进行。

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

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

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

  • 以管理员登录,并切换到default工程。
# oc login -u system:admin
# oc project default
  • 创建Router。
# oadm policy add-scc-to-user privileged system:serviceaccount:default:router
# oadm 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容器实例。

Router负责将集群外的请求转发到集群的容器。 Service负责将集群内的请求转发到指定的容器。 一个对外,一个对内。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JMCui

Apache solr(一).

概念:Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache...

3298
来自专栏从零开始学自动化测试

Appium+python自动化27-android特有的wait_activity

前言 在启动app的时候,如果直接做下一步点击操作,经常会报错,于是我们会在启动完成的时候加sleep。 那么问题来了,这个sleep时间到底设置多少合适呢?设...

2834
来自专栏ASP.NET MVC5 后台权限管理系统

.Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法

Android Studio DDMS与Eclipse DDMS大同小异,下面了解DDMS的使用 DDMS(Dalvik Debug Monitor Servi...

1709
来自专栏Porschev[钟慰]的专栏

Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门

简介   MongoDB   开源,高性能的NoSQL数据库;支持索引、集群、复制和故障转移、各种语言的驱动程序;高伸缩性;   NoSQL毕竟还处于发展阶段...

3307
来自专栏郭少华

Spring Boot 日志(八)

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4...

814
来自专栏C/C++基础

C++实现简易log日志系统

在软件开发周期中,不管是前台还是后台,系统一般会采用一个持久化的日志系统来记录运行情况。

1482
来自专栏Python、Flask、Django

hyper网络连接配置(之一)

925
来自专栏ytkah

laravel dingo/api添加jwt-auth认证

前面我们学了laravel dingo/api创建简单的api,这样api是开放给所有人的,如何查看和限制api的调用呢?可以用jwt-auth来验证,JSON...

442
来自专栏Java 源码分析

SpringBoot 笔记 ( 三 ):日志系统

SpringBoot 笔记 ( 三 ):日志系统 1、日志框架 日志框架就是防止我们再去像以前那样,一直进行System.out.println(“”)将关键数...

4225
来自专栏晓晨的专栏

.NET Core 控制台应用程序使用异步(Async)Main方法

803

扫码关注云+社区