3.2.3. その他の基本ルーターコマンド
- デフォルトルーターの確認
- router という名前のデフォルトのルーターサービスアカウントは、クラスターのインストール時に自動的に作成されます。このアカウントがすでに存在することを確認するには、以下を実行します。
$ oc adm router --dry-run --service-account=router
- デフォルトルーターの表示
- デフォルトルーターが作成されている場合でそれを確認するには、以下を実行します。
$ oc adm router --dry-run -o yaml --service-account=router
- HAProxy ログを転送するためのルーター設定
-
HAProxy で生成されるログを syslog サイドカーコンテナーに転送するようにルーターを設定します。
--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
ラベルに一致するノードがある場合にのみ自動的にデプロイされます。
ラベルの更新に関する情報については、ノードのラベルの更新 を参照してください。
複数のインスタンスが スケジューラーポリシー に従って複数の異なるホストに作成されます。
- 複数の異なるルーターイメージの使用
- 複数の異なるルーターイメージを使用し、使用されるルーター設定を表示するには、以下を実行します。
$ 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