Red Hat OpenShift on IBM Cloud(Classic Infrastructure): MZR環境なのに一部のZoneにアクセスが分散されていない状態の修正方法
1. はじめに
TOK02/TOK04/TOK5にまたがったworker nodeを作成したので、これで3拠点に処理は分散されるよね!
と思ったら、あれIngress subdomainを正引きしてみたら2拠点(128.168.xx.xxx(TOK04)
と166.192.xx.xxx(TOK05)
)にしか割り振られていない!
$ ibmcloud oc nlb-dns ls -c myrokscluster43
OK
Hostname IP(s) Health Monitor SSL Cert Status SSL Cert Secret Name Secret Namespace
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud 128.168.xx.xxx,128.168.xx.xxx,165.192.xx.xxx enabled created myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000 openshift-ingress
$ dig A +noall +answer @1.1.1.1 myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 2 IN A 128.168.xx.xxx
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 2 IN A 165.192.xx.xxx
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 2 IN A 128.168.xx.xxx
確かにServiceを確認してみたらrouter-tok04
とかrouter-tok05
はあるのに、router-tok02
が存在していない!何故?
$ oc get services -n openshift-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
router-default LoadBalancer 172.21.200.228 128.168.xx.xxx 80:31712/TCP,443:32543/TCP 64d
router-internal-default ClusterIP 172.21.57.171 <none> 80/TCP,443/TCP,1936/TCP 64d
router-tok04 LoadBalancer 172.21.108.161 128.168.xx.xxx 80:31380/TCP,443:30034/TCP 64d
router-tok05 LoadBalancer 172.21.103.123 165.192.xx.xxx 80:32357/TCP,443:30142/TCP 64d
2. 原因
実はFAQのようです。サービスを作成する段階でまだクラスターがreadyになっていなかった場合など、タイミングによってはうまく作られないこともあるとのこと。
3. 修正方法
上記ドキュメントに従って手動でrouter-tok02を作成します。
apiVersion: v1
kind: Service
metadata:
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: public
service.kubernetes.io/ibm-load-balancer-cloud-provider-zone: tok02
finalizers:
- service.kubernetes.io/load-balancer-cleanup
labels:
app: router
ingresscontroller.operator.openshift.io/owning-ingresscontroller: default
router: router-default
name: router-tok02
namespace: openshift-ingress
spec:
externalTrafficPolicy: Cluster
selector:
ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default
sessionAffinity: None
type: LoadBalancer
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
$ oc apply -f router-tok02.yaml
service/router-tok02 created
$ oc get services -n openshift-ingress
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
router-default LoadBalancer 172.21.200.228 128.168.xx.xxx 80:31712/TCP,443:32543/TCP 64d
router-internal-default ClusterIP 172.21.57.171 <none> 80/TCP,443/TCP,1936/TCP 64d
router-tok02 LoadBalancer 172.21.205.181 161.202.xx.xxx 80:30370/TCP,443:32261/TCP 41s
router-tok04 LoadBalancer 172.21.108.161 128.168.xx.xxx 80:31380/TCP,443:30034/TCP 64d
router-tok05 LoadBalancer 172.21.103.123 165.192.xx.xxx 80:32357/TCP,443:30142/TCP 64d
router-tok02
が作成されたので、このEXTERNAL-IPを該当のIngress domainに登録します。これによって、このドメインにおけるDNSでの割り振り対象に追加されるはずです。
$ ibmcloud oc nlb-dns add -c myrokscluster43 --ip 161.202.xx.xxx --nlb-host myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
Adding IP(s) 161.202.xx.xxx to NLB host name myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud in cluster myrokscluster43 ...
OK
4. 確認
161.202.xx.xxx(TOK02)
, 128.168.xx.xxx(TOK04)
,165.192.xx.xxx(TOK05)
の3つに分散されるようになりました。
$ ibmcloud oc nlb-dns ls -c myrokscluster43
OK
Hostname IP(s) Health Monitor SSL Cert Status SSL Cert Secret Name Secret Namespace
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud 128.168.xx.xxx,128.168.xx.xxx,161.202.xx.xxx,165.192.xx.xxx enabled created myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000 openshift-ingress
$ dig A +noall +answer @1.1.1.1 myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 30 IN A 128.168.xx.xxx
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 30 IN A 161.202.xx.xxx
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 30 IN A 128.168.xx.xxx
myrokscluster43-xxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud. 30 IN A 165.192.xx.xxx
Author And Source
この問題について(Red Hat OpenShift on IBM Cloud(Classic Infrastructure): MZR環境なのに一部のZoneにアクセスが分散されていない状態の修正方法), 我々は、より多くの情報をここで見つけました https://qiita.com/testnin2/items/32b9fbb750ea5c817649著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .