- Oracle SOA Suite on Kubernetes
- 管理ガイド
- T3/T3Sプロトコルの公開
- 管理サーバーのT3/T3Sチャネルの公開
管理サーバーのT3/T3Sチャネルの公開
リスニング・ポートlisten_portとペア・パブリック・ポートpublic_portを持つ管理サーバーのカスタムT3/T3Sチャネルを作成するには:
- 次の内容で
t3_admin_config.py
を作成します:admin_pod_name = sys.argv[1] admin_port = sys.argv[2] user_name = sys.argv[3] password = sys.argv[4] listen_port = sys.argv[5] public_port = sys.argv[6] public_address = sys.argv[7] AdminServerName = sys.argv[8] channelType = sys.argv[9] print('custom admin_pod_name : [%s]' % admin_pod_name); print('custom admin_port : [%s]' % admin_port); print('custom user_name : [%s]' % user_name); print('custom password : ********'); print('public address : [%s]' % public_address); print('channel listen port : [%s]' % listen_port); print('channel public listen port : [%s]' % public_port); connect(user_name, password, 't3://' + admin_pod_name + ':' + admin_port) edit() startEdit() cd('/') cd('Servers/%s/' % AdminServerName ) if channelType == 't3': create('T3Channel_AS','NetworkAccessPoint') cd('NetworkAccessPoints/T3Channel_AS') set('Protocol','t3') set('ListenPort',int(listen_port)) set('PublicPort',int(public_port)) set('PublicAddress', public_address) print('Channel T3Channel_AS added') elif channelType == 't3s': create('T3SChannel_AS','NetworkAccessPoint') cd('NetworkAccessPoints/T3SChannel_AS') set('Protocol','t3s') set('ListenPort',int(listen_port)) set('PublicPort',int(public_port)) set('PublicAddress', public_address) set('HttpEnabledForThisProtocol', true) set('OutboundEnabled', false) set('Enabled', true) set('TwoWaySSLEnabled', true) set('ClientCertificateEnforced', false) else: print('channelType [%s] not supported',channelType) activate() disconnect()
t3_admin_config.py
を管理サーバー・ポッド(たとえば、soans
ネームスペースのsoainfra-adminserver
)のドメイン・ホーム(たとえば、/u01/oracle/user_projects/domains/soainfra
)にコピーします。$ kubectl cp t3_admin_config.py soans/soainfra-adminserver:/u01/oracle/user_projects/domains/soainfra
- 次のパラメータを使用し、管理サーバー・ポッドに対するexecを使用してwlst.sh t3_admin_config.pyを実行します:
- admin_pod_name: soainfra-adminserver # 管理サーバー・ポッド
- admin_port: 7001
- user_name: weblogic
- password: Welcome1 # weblogicパスワード
- listen_port: 30014 # T3管理サーバーの新規ポート
- public_port: 30014 # 外部でT3ポートを公開するために使用されるKubernetes NodePort
- public_address:
- AdminServerName: AdminServer # 管理サーバー名の指定
- channelType: t3 # t3またはt3sプロトコル・チャネル
kubectl exec -it <Administration Server pod> -n <namespace> -- /u01/oracle/oracle_common/common/bin/wlst.sh <domain_home>/t3_admin_config.py <Administration Server pod> <Administration Server port> weblogic <password for weblogic> <t3 port on Administration Server> <t3 nodeport> <master_ip> <AdminServerName> <channelType t3 or t3s>
例:
kubectl exec -it soainfra-adminserver -n soans -- /u01/oracle/oracle_common/common/bin/wlst.sh /u01/oracle/user_projects/domains/soainfra/t3_admin_config.py soainfra-adminserver 7001 weblogic Welcome1 30014 30014 xxx.xxx.xxx.xxx AdminServer t3
- 次の内容で
t3_admin_svc.yaml
を作成し、domainNameおよびdomainUIDがsoainfra
でsoans
ネームスペースにデプロイされたドメインに対してNodePort30014
でT3を公開します。ノート:
T3Sの場合は、前のステップでwlst.sh
を使用してT3Sチャネルを作成する際にpublic_port
で使用した適切な値でNodePort 30014を置き換えます。apiVersion: v1 kind: Service metadata: name: soainfra-adminserver-t3-external namespace: soans labels: weblogic.serverName: AdminServer weblogic.domainName: soainfra weblogic.domainUID: soainfra spec: type: NodePort selector: weblogic.domainName: soainfra weblogic.domainUID: soainfra weblogic.serverName: AdminServer ports: - name: t3adminport protocol: TCP port: 30014 targetPort: 30014 nodePort: 30014
- ポート30014のNodePortサービスを作成します:
kubectl create -f t3_admin_svc.yaml
- 次のURLを使用して、管理サーバーのT3にアクセスできることを確認します:
t3://<master_ip>:30014
- 同様に、次のようにT3Sにアクセスできます:
- まず、クライアントから保護された(T3S)接続に使用する証明書を管理サーバーから取得します。WLSTコマンドを使用して、管理サーバーから証明書をエクスポートできます。たとえば、デフォルトのdemoidentityをエクスポートするには:
ノート:
カスタムSSL証明書を使用している場合は、ステップを適宜置き換えます。kubectl exec -it soainfra-adminserver -n soans -- bash /u01/oracle/oracle_common/common/bin/wlst.sh connect('weblogic','Welcome1','t3://soainfra-adminserver:7001') svc = getOpssService(name='KeyStoreService') svc.exportKeyStoreCertificate(appStripe='system', name='demoidentity', password='DemoIdentityKeyStorePassPhrase', alias='DemoIdentity', type='Certificate', filepath='/tmp/cert.txt/')
これらのステップでは、
/tmp/cert.txt
で証明書をダウンロードします。 - クライアント側から同じ証明書を使用し、
t3s
を使用して接続します。例:export JAVA_HOME=/u01/jdk keytool -import -v -trustcacerts -alias soadomain -file cert.txt -keystore $JAVA_HOME/lib/security/cacerts -keypass changeit -storepass changeit export WLST_PROPERTIES="-Dweblogic.security.SSL.ignoreHostnameVerification=true" cd $ORACLE_HOME/oracle_common/common/bin ./wlst.sh Initializing WebLogic Scripting Tool (WLST) ... Welcome to WebLogic Server Administration Scripting Shell Type help() for help on available commands wls:/offline> connect('weblogic','Welcome1','t3s://<Master IP address>:30014')
- まず、クライアントから保護された(T3S)接続に使用する証明書を管理サーバーから取得します。WLSTコマンドを使用して、管理サーバーから証明書をエクスポートできます。たとえば、デフォルトのdemoidentityをエクスポートするには: