3.2.3. 其他基本路由器命令


检查默认路由器
名为 router 的默认路由器服务帐户会在集群安装过程中自动创建。验证此帐户是否已存在:
$ oc adm router --dry-run --service-account=router
查看默认路由器
查看创建的默认路由器会是什么样子:
$ oc adm router --dry-run -o yaml --service-account=router
将路由器配置为转发 HAProxy 日志
您可以将路由器配置为将 HAProxy 生成的日志转发到 rsyslog sidecar 容器。--extended-logging=true 参数附加 syslog 容器将 HAProxy 日志转发到标准输出。
$ oc adm router --extended-logging=true

以下示例是使用 --extended-logging=true 的路由器的配置:

$ oc get pod router-1-xhdb9 -o yaml
apiVersion: v1
kind: Pod
spec:
  containers:
  - env:

    ....

    - name: ROUTER_SYSLOG_ADDRESS 1
      value: /var/lib/rsyslog/rsyslog.sock

    ....

 - command: 2
   - /sbin/rsyslogd
   - -n
   - -i
   - /tmp/rsyslog.pid
   - -f
   - /etc/rsyslog/rsyslog.conf
   image: registry.redhat.io/openshift3/ose-haproxy-router:v3.11.188
   imagePullPolicy: IfNotPresent
   name: syslog
1
--extended-logging=true 参数为日志创建一个套接字文件。
2
--extended-logging=true 参数向路由器添加一个容器。在容器中,rsyslog 进程作为 /sbin/rsyslogd -n -i /tmp/rsyslog.pid -f /etc/rsyslog/rsyslog.conf 运行。

使用以下命令查看 HAProxy 日志:

$ oc set env dc/test-router ROUTER_LOG_LEVEL=info 1
$ oc logs -f <pod-name> -c syslog 2
1
将日志级别设置为 infodebug。默认值为 warning
2
指定要查看日志的路由器 pod 的名称。

HAProxy 日志的格式如下:

2020-04-14T03:05:36.629527+00:00 test-311-node-1 haproxy[43]: 10.0.151.166:59594 [14/Apr/2020:03:05:36.627] fe_no_sni~ be_secure:openshift-console:console/pod:console-b475748cb-t6qkq:console:10.128.0.5:8443 0/0/1/1/2 200 393 - - --NI 2/1/0/1/0 0/0 "HEAD / HTTP/1.1"
2020-04-14T03:05:36.633024+00:00 test-311-node-1 haproxy[43]: 10.0.151.166:59594 [14/Apr/2020:03:05:36.528] public_ssl be_no_sni/fe_no_sni 95/1/104 2793 -- 1/1/0/0/0 0/0
将路由器部署到标记的节点
将路由器部署到与指定 节点标签 匹配的任何节点上:
$ oc adm router <router_name> --replicas=<number> --selector=<label> \
    --service-account=router

例如,如果要创建一个名为 router 的路由器,并将其放置到带有 node-role.kubernetes.io/infra=true 标签的节点上:

$ oc adm router router --replicas=1 --selector='node-role.kubernetes.io/infra=true' \
  --service-account=router

在集群安装过程中,openshift_router_selectoropenshift_registry_selector Ansible 设置默认设置为 node-role.kubernetes.io/infra=true。只有在存在与 node-role.kubernetes.io/infra=true 标签匹配的节点时,才会自动部署默认路由器和 registry。

有关更新标签的详情,请参阅更新节点上的标签

根据调度程序策略,在不同的主机上创建多个实例。

使用不同的路由器镜像
使用其他路由器镜像并查看要使用的路由器配置:
$ oc adm router <router_name> -o <format> --images=<image> \
    --service-account=router

例如:

$ oc adm router region-west -o yaml --images=myrepo/somerouter:mytag \
    --service-account=router
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.