8.6 イングレスの作成
次のコマンドを実行して、イングレスを作成します:
$WORKDIR
に移動します:cd $WORKDIR
- 次のhelmコマンドを実行して、イングレスを作成します:
例:helm install oam-nginx kubernetes/charts/ingress-per-domain \ --namespace <domain_namespace> \ --values kubernetes/charts/ingress-per-domain/values.yaml
出力は次のようになります:helm install oam-nginx kubernetes/charts/ingress-per-domain \ --namespace oamns \ --values kubernetes/charts/ingress-per-domain/values.yaml
NAME: oam-nginx LAST DEPLOYED: <DATE> NAMESPACE: oamns STATUS: deployed REVISION: 1 TEST SUITE: None
- 次のコマンドを実行して、イングレスが正常に作成されたことを示します:
例kubectl get ing -n <domain_namespace>
kubectl get ing -n oamns
hostname.enabled: false
の場合、出力は次のようになります:NAME CLASS HOSTS ADDRESS PORTS AGE accessdomain-nginx nginx * 80 5s
hostname.enabled: true
の場合、出力は次のようになります:NAME CLASS HOSTS ADDRESS PORTS AGE oamadmin-ingress nginx admin.example.com 80 14s oamruntime-ingress nginx runtime.example.com 80 14s
- 次のコマンドを実行して、イングレスを確認します:
例:kubectl describe ing <ingress> -n <domain_namespace>
kubectl describe ing accessdomain-nginx -n oamns
accessdomain-nginx
の出力は次のようになります:Name: accessdomain-nginx Labels: app.kubernetes.io/managed-by=Helm Namespace: oamns Address: 10.109.22.22 Ingress Class: nginx Default backend: <default> Rules: Host Path Backends ---- ---- -------- * /console accessdomain-adminserver:7001 (10.244.1.200:7001) /consolehelp accessdomain-adminserver:7001 (10.244.1.200:7001) /rreg/rreg accessdomain-adminserver:7001 (10.244.1.200:7001) /em accessdomain-adminserver:7001 (10.244.1.200:7001) /management accessdomain-adminserver:7001 (10.244.1.200:7001) /oamconsole accessdomain-adminserver:7001 (10.244.1.200:7001) /dms accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services/rest accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/admin/config accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/admin/diag accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/access accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oam/admin/api accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services/rest/access/api accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /access accessdomain-cluster-policy-cluster:15100 (10.244.2.126:14150) /oam accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) / accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) Annotations: meta.helm.sh/release-name: oam-nginx meta.helm.sh/release-namespace: oamns nginx.ingress.kubernetes.io/enable-access-log: false nginx.ingress.kubernetes.io/proxy-buffer-size: 2000k Events: <none> Type Reason Age From Message ---- ------ ---- ---- ------- Normal Sync 33s nginx-ingress-controller Scheduled for sync
oamadmin-ingress
の出力は次のようになります:Name: oamadmin-ingress Labels: app.kubernetes.io/managed-by=Helm Namespace: oamns Address: 10.109.22.22 Ingress Class: nginx Default backend: <default> Rules: Host Path Backends ---- ---- -------- admin.example.com /console accessdomain-adminserver:7001 (10.244.1.200:7001) /consolehelp accessdomain-adminserver:7001 (10.244.1.200:7001) /rreg/rreg accessdomain-adminserver:7001 (10.244.1.200:7001) /em accessdomain-adminserver:7001 (10.244.1.200:7001) /oamconsole accessdomain-adminserver:7001 (10.244.1.200:7001) /dms accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services/rest accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/admin/config accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/admin/api accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/admin/diag accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services accessdomain-adminserver:7001 (10.244.1.200:7001) /iam/admin accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services/rest/11.1.2.0.0 accessdomain-adminserver:7001 (10.244.1.200:7001) /oam/services/rest/ssa accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /access accessdomain-cluster-policy-cluster:14150 (10.244.2.126:15100) Annotations: meta.helm.sh/release-name: oam-nginx meta.helm.sh/release-namespace: oamns nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/enable-access-log: false nginx.ingress.kubernetes.io/ingress.allow-http: true nginx.ingress.kubernetes.io/proxy-buffer-size: 2000k nginx.ingress.kubernetes.io/ssl-redirect: false Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Sync 32s nginx-ingress-controller Scheduled for sync
oamruntime-ingress
の出力は次のようになります:Name: oamruntime-ingress Labels: app.kubernetes.io/managed-by=Helm Namespace: oamns Address: 10.109.22.22 Ingress Class: nginx Default backend: <default> Rules: Host Path Backends ---- ---- -------- runtime.example.com /ms_oauth accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oam/services/rest/auth accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oam/services/rest/access accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oamfed accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /otpfp/ accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oauth2 accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /oam accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /.well-known/openid-configuration accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /.well-known/oidc-configuration accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /CustomConsent accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) /iam/access accessdomain-cluster-oam-cluster:14100 (10.244.2.127:14100) Annotations: meta.helm.sh/release-name: oam-nginx meta.helm.sh/release-namespace: oamns nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/enable-access-log: false nginx.ingress.kubernetes.io/proxy-buffer-size: 2000k Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Sync 3m34s (x2 over 4m10s) nginx-ingress-controller Scheduled for sync
- 新しいイングレスがドメインのサーバー・ポッドに正常にルーティングされていることを確認するには、次のコマンドを実行して、OAM管理コンソールにリクエストを送信します:
- SSLの場合:
curl -v -k https://${HOSTNAME}:${PORT}/oamconsole
- 非SSLの場合:
curl -v http://${HOSTNAME}:${PORT}/oamconsole
使用する
${HOSTNAME}:${PORT}
は、hostName.enabled
に設定された値によって異なります。hostName.enabled: false
の場合、イングレス・コントローラがインストールされているホスト名およびポートを使用します(http://oam.example.com:30777
など)。hostName.enabled: true
を使用している場合、管理ホスト名を介してのみアクセスできます(https://admin.example.com/oamconsole
など)。ノート:
管理URLを介してアクセスできるのは、それが現在アクセス可能であり、イングレス・ホストおよびポートに正しくルーティングされている場合のみです。例:出力は次のようになりますcurl -v http://oam.example.com:30777/oamconsole
302 Moved Temporarily
というメッセージが表示されます:> GET /oamconsole HTTP/1.1 > Host: oam.example.com:30777 > User-Agent: curl/7.61.1 > Accept: */* > < HTTP/1.1 302 Moved Temporarily < Date: <DATE> < Content-Type: text/html < Content-Length: 333 < Connection: keep-alive < Location: http://oam.example.com:30777/oamconsole/ < X-Content-Type-Options: nosniff < X-Frame-Options: DENY < <html><head><title>302 Moved Temporarily</title></head> <body bgcolor="#FFFFFF"> <p>This document you requested has moved temporarily.</p> <p>It's now at <a href="http://oam.example.com:30777/oamconsole/">http://oam.example.com:30777/oamconsole/</a>.</p> </body></html> * Connection #0 to host oam.example.com left intact
- SSLの場合:
前述の内容の確認後、ドメイン・アプリケーションにアクセスできることを確認します。「ドメインURLの検証」を参照してください。