追加URLアクセスの有効化

この項では、既存のイングレス(非SSLおよびSSL終端)を拡張して、Oracle SOA Suiteドメインの追加のアプリケーションURLアクセスを有効にする方法について説明します。

ロード・バランサの設定のステップで作成したドメインごとのイングレスは、${WORKDIR}/charts/ingress-per-domain/templates/にあるテンプレートYAMLファイルで定義されたアプリケーション・パスを公開します。

追加のアプリケーションURLアクセスを使用して既存のイングレスを拡張するには:

  1. ${WORKDIR}/charts/ingress-per-domain/templates/のテンプレートYAMLファイルを更新して、追加のパス・ルールを定義します。

    たとえば、Oracle SOA Suiteクラスタの追加パス/path1および/path2を使用して既存のNGINXベースのイングレスを拡張するには、nginx-ingress-nonssl.yaml、nginx-ingress-ssl.yamlまたはnginx-ingress-e2essl.yaml適切に更新し、追加のパスを指定します:

    # Copyright (c) 2020, 2022, Oracle and/or its affiliates.
    # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
    {{- if eq .Values.type "NGINX" }}
    {{- if (eq .Values.sslType "NONSSL") }}
    ---
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    .
    .
    spec:
      rules:
      - host: '{{ .Values.nginx.hostname }}'
        http:
          paths:
          # Add new paths -- start
          - path: /path1
            backend:
              service:
                name: '{{ .Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.soaClusterName | lower | replace "_" "-" }}'
                port:
                  number: {{ .Values.wlsDomain.soaManagedServerPort  }}
          - path: /path2
            backend:
              service:
                name: '{{ .Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.soaClusterName | lower | replace "_" "-" }}'
                port:
                  number: {{ .Values.wlsDomain.soaManagedServerPort  }}
          # Add new paths -- end
          - path: /em
            backend:
    .
    .
    {{- end }}
    
  2. ドメイン・ネームスペースにインストールされているイングレスのHelmリリース名を取得します:
    helm ls -n <domain_namespace>

    たとえば、soansネームスペースの場合:

    helm ls -n soans

    NGINXベースのイングレスのHelmリリース名をsoa-nginx-ingressとして示すサンプル出力:

    NAME                  NAMESPACE       REVISION        UPDATED                               STATUS        CHART                 APP VERSION
    soa-nginx-ingress     soans            1        2021-02-17 13:42:03.252742314 +0000 UTC  deployed  ingress-per-domain-0.1.0     1.0
    
  3. テンプレートYAMLで定義された追加のパスを使用してドメインごとに既存のイングレスを拡張するには、helm upgradeコマンドを使用します:
    cd ${WORKDIR}
    helm upgrade <helm_release_for_ingress> \
        charts/ingress-per-domain \
        --namespace <domain_namespace> \
        --reuse-values
    

    ノート:

    helm_release_for_ingressは、イングレス・インストールに対応するhelm installコマンドで使用されるイングレス名です。

    soansネームスペース内のNGINXベースのイングレスsoa-nginx-ingressのサンプル・コマンド:

    cd ${WORKDIR}
    helm upgrade soa-nginx-ingress \
        charts/ingress-per-domain \
        --namespace soans \
        --reuse-values
    

    これにより、既存のイングレスがアップグレードされ、テンプレートYAMLで更新された追加のパスが取得されます。

  4. 追加のパスで既存のイングレスが更新されていることを確認します。
    1. ドメイン・ネームスペースにデプロイされた既存のイングレスを取得します:
      kubectl get ingress -n <domain_namespace>

      たとえば、soansネームスペースの場合:

      kubectl get ingress -n soans

      既存のイングレスがsoainfra-nginxと表示された出力例:

      NAME               CLASS    HOSTS         ADDRESS        PORTS     AGE
      soainfra-nginx   <none>   domain1.org  10.109.211.160   80, 443    xxd
      
    2. イングレス・オブジェクトの詳細を表示し、新しいパスが使用可能であり、目的のバックエンドを指していることを確認します。

      /path1および/path2のパスおよびバックエンドの詳細を示すコマンドおよび出力の例:

      kubectl describe ingress soainfra-nginx -n soans|grep path
                                           /path1                     soainfra-cluster-soa-cluster:7003 (172.17.0.19:7003,172.17.0.20:7003)
                                           /path2                     soainfra-cluster-soa-cluster:8011 (172.17.0.19:7003,172.17.0.20:7003)