CentOS 7
Sponsored Link

OpenShift Origin (OKD) 3.11 : Router の設定2018/11/20

 
OpenShift クラスターで使用される Router の設定です。
OpenShift Origin インストールの通り構成すると、デフォルトで Router 用の Pod も設定され稼働していますが、もし何らかの理由で稼働してない場合や、再作成したい場合は以下のようにして Router 用の Pod を再作成します。
当例では以下のような環境を例に OpenShift クラスターを構成しています。
-----------+-----------------------------+-----------------------------+------------
           |10.0.0.25                    |10.0.0.51                    |10.0.0.52
+----------+-----------+      +----------+-----------+      +----------+-----------+
|  [ ctrl.srv.world ]  |      | [ node01.srv.world ] |      | [ node02.srv.world ] |
|     (Master Node)    |      |    (Compute Node)    |      |    (Compute Node)    |
|     (Infra Node)     |      |                      |      |                      |
|     (Compute Node)   |      |                      |      |                      |
+----------------------+      +----------------------+      +----------------------+

[1] インストーラーが構成したデフォルトの Router が存在するか確認します。
[origin@ctrl ~]$
oc adm router --dry-run --service-account=router

Router "router" service exists
[origin@ctrl ~]$
oc get pods

NAME                       READY     STATUS    RESTARTS   AGE
docker-registry-1-ttw9l    1/1       Running   1          1h
registry-console-1-zjbqb   1/1       Running   1          53m
router-1-mjch7             1/1       Running   2          15h

# もし既存のデフォルトルーターを削除するならば以下

[origin@ctrl ~]$
oc delete all -l router

pod "router-1-mjch7" deleted
replicationcontroller "router-1" deleted
service "router" deleted
deploymentconfig.apps.openshift.io "router" deleted
[origin@ctrl ~]$
oc delete serviceaccounts router

serviceaccount "router" deleted
[origin@ctrl ~]$
oc delete clusterrolebindings router-router-role

clusterrolebinding.authorization.openshift.io "router-router-role" deleted
[2] Master ノード上で Router を作成します。当例ではインストーラーが設定するデフォルト Router と同設定の HAProxy Router を [node01.srv.world] ノード上に固定して作成する設定をします。
[origin@ctrl ~]$
oc adm router router --selector='kubernetes.io/hostname=node01.srv.world' --replicas=1 --service-account=router

--> Creating router router ...
    serviceaccount "router" created
    clusterrolebinding.authorization.openshift.io "router-router-role" created
    deploymentconfig.apps.openshift.io "router" created
    service "router" created
--> Success

# しばらくすると Router Pod のデプロイが完了し稼働状態となる

[origin@ctrl ~]$
oc get pods

NAME                       READY     STATUS    RESTARTS   AGE
docker-registry-1-ttw9l    1/1       Running   1          1h
registry-console-1-zjbqb   1/1       Running   1          55m
router-1-brqp4             1/1       Running   0          30s
関連コンテンツ