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
使用以下命令查看 HAProxy 日志:
$ oc set env dc/test-router ROUTER_LOG_LEVEL=info 1 $ oc logs -f <pod-name> -c syslog 2
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_selector
和 openshift_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