- Oracle SOA Suite on Kubernetes
- 管理ガイド
- コンポジット・アプリケーションのデプロイ
- MavenおよびANTを使用したデプロイ
- コンポジット・デプロイメント・コンテナの作成
コンポジット・デプロイメント・コンテナの作成
Kubernetesポッドを作成する前に、Oracle SOA Suite Dockerイメージがノードで使用できることを確認するか、またはポッドが作成されたホストでDockerイメージをプルできるようにイメージ・プル・シークレットを作成できます。
- Kubernetesポッドによってイメージsoasuite:release-versionをプルするイメージ・プル・シークレットを作成します:
kubectl create secret docker-registry image-secret -n soans --docker-server=your-registry.com --docker-username=xxxxxx --docker-password=xxxxxxx --docker-email=my@company.com
/share/soa-deploy
に配置されたビルドおよびデプロイ用のサンプル・コンポジットを使用して、PersistentVolumeおよびPersistentVolumeClaim (soadeploy-pv.yaml
およびsoadeploy-pvc.yaml
)を作成します。- 提供されているサンプル(
soadeploy-pv.yaml
)を使用してPersistentVolumeを作成します。このサンプルはNFSを使用します(hostPath
またはその他のサポートされているPVタイプを使用できます):apiVersion: v1 kind: PersistentVolume metadata: name: soadeploy-pv spec: storageClassName: soadeploy-storage-class capacity: storage: 10Gi accessModes: - ReadWriteMany # Valid values are Retain, Delete or Recycle persistentVolumeReclaimPolicy: Retain # hostPath: nfs: server: X.X.X.X path: "/share/soa-deploy"
- YAMLを適用します:
kubectl apply -f soadeploy-pv.yaml
- PersistentVolumeClaim (soadeploy-pvc.yaml)を作成します:
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: soadeploy-pvc namespace: soans spec: storageClassName: soadeploy-storage-class accessModes: - ReadWriteMany resources: requests: storage: 10Gi
- YAMLを適用します:
kubectl apply -f soadeploy-pvc.yaml
- 提供されているサンプル(
soadeploy.yam
lを使用してコンポジット・デプロイ・ポッドを作成し、ポッド内のコンポジットを/composites
にマウントします:apiVersion: v1 kind: Pod metadata: labels: run: soadeploy name: soadeploy namespace: soans spec: imagePullSecrets: - name: image-secret containers: - image: soasuite:release-version name: soadeploy env: - name: M2_HOME value: /u01/oracle/oracle_common/modules/thirdparty/apache-maven_bundle/3.9.4.0.0/apache-maven-3.9.4 command: ["/bin/bash", "-c", "echo 'export PATH=$PATH:$M2_HOME/bin' >> $HOME/.bashrc; sleep infinity"] imagePullPolicy: IfNotPresent volumeMounts: - name: mycomposite mountPath: /composites volumes: - name: mycomposite persistentVolumeClaim: claimName: soadeploy-pvc
- ポッドを作成します:
kubectl apply -f soadeploy.yaml
- Kubernetesポッドがデプロイされたら、ポッドにexecして、Maven/Antベースのビルドおよびデプロイを実行します:
kubectl exec -it -n soans soadeploy -- bash