4.9 ohs.yamlファイルの準備
Oracle HTTP Server (OHS)デプロイメントに対応したohs.yamlファイルを準備します。
ohs.yamlファイルを準備するには、次のステップを実行します。
- サンプルyamlファイルを
$MYOHSFILESにコピーします。cd $MYOHSFILES cp $SCRIPTDIR/*.yaml . $MYOHSFILES/ohs.yamlを編集し、インストールと一致するように次のパラメータを変更します。<NAMESPACE>をネームスペース(ohsnsなど)へ。<IMAGE_NAME>をOracle Container Registryの正しいイメージ・タグへ。イメージに独自のコンテナ・レジストリを使用している場合は、imageの場所を適切に変更する必要があります。独自のコンテナ・レジストリが開いている場合は、imagePullSecretsは必要ありません。- ConfigMapおよびシークレットの以前の作成中に、指定した例から名前を変更した場合は、それに応じて値を更新する必要があります。
- 完全な情報を提供するためにすべてのConfigMapが表示されます。使用していないConfigMapを削除します。たとえば、
htdocsが不要な場合は、ohs-htdocsConfigMapを削除します。Oracle WebGateをデプロイしない場合は、webgate-config、webgate-walletなどのConfigMapを削除します。 htdocsの下にディレクトリを追加で作成した場合は、ConfigMapおよびディレクトリ名と一致するエントリを追加します。- 使用されるすべてのConfigMapは、指定されたディレクトリにマウントする必要があります。
- ポートは必要に応じて変更できます。
- Oracle WebGateをデプロイするかどうかに応じて、
DEPLOY_WGをtrueまたはfalseに設定します。 - SSLを使用する場合は、
<WALLET_NAME>をohsConfig/webgate/config/walletの下に作成されたウォレット・ディレクトリ(mywalletなど)に変更します。 - 低速なシステムでは、
initialDelaySecondsを10に変更する必要がある場合があります。「トラブルシューティングと一般的な問題」の「有効性プローブの問題」を参照してください。
次に例
ohs.yamlを示します。apiVersion: v1
kind: ConfigMap
metadata:
name: ohs-script-configmap
namespace: ohsns
data:
ohs-script.sh: |
#!/bin/bash
mkdir -p /u01/oracle/bootdir /u01/oracle/config /u01/oracle/config/moduleconf /u01/oracle/config/webgate/config
{ echo -en "username=" && cat /ohs-config/username && echo -en "\npassword=" && cat /ohs-config/password; } > /u01/oracle/bootdir/domain.properties
/u01/oracle/provisionOHS.sh
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ohs-domain
namespace: ohsns
spec:
progressDeadlineSeconds: 600
replicas: 1
selector:
matchLabels:
oracle: ohs
template:
metadata:
labels:
oracle: ohs
spec:
containers:
- name: ohs
image: container-registry.oracle.com/middleware/ohs_cpu:14.1.2.0-jdk17-ol8-<YYMMDD>
env:
- name: DEPLOY_WG
value: "true"
ports:
- name: clear
containerPort: 7777
- name: https
containerPort: 4443
resources:
requests:
cpu: 1000m
memory: 1Gi
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
runAsNonRoot: true
runAsUser: 1000
livenessProbe:
exec:
command:
- /bin/bash
- -c
- pgrep httpd
initialDelaySeconds: 10
periodSeconds: 5
readinessProbe:
httpGet:
port: 7777
path: /helloWorld.html
volumeMounts:
- name: ohs-secret
mountPath: /ohs-config
- name: ohs-config
mountPath: /u01/oracle/config/moduleconf
- name: ohs-htdocs
mountPath: /u01/oracle/config/htdocs
- name: ohs-myapp
mountPath: /u01/oracle/config/htdocs/myapp
- name: ohs-httpd
mountPath: /u01/oracle/config/httpd
- name: webgate-config
mountPath: /u01/oracle/config/webgate/config
- name: webgate-wallet
mountPath: /u01/oracle/config/webgate/config/wallet
- name: ohs-wallet
mountPath: /u01/oracle/config/wallet/mywallet
- name: script-volume
mountPath: /ohs-bin
readOnly: true
command: ["/ohs-bin/ohs-script.sh"]
imagePullSecrets:
- name: regcred
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: oracle
operator: In
values:
- ohs
topologyKey: "kubernetes.io/hostname"
restartPolicy: Always
securityContext:
seccompProfile:
type: RuntimeDefault
terminationGracePeriodSeconds: 30
volumes:
- name: ohs-secret
secret:
defaultMode: 0444
secretName: ohs-secret
- name: script-volume
configMap:
defaultMode: 0555
name: ohs-script-configmap
- name: ohs-config
configMap:
defaultMode: 0555
name: ohs-config
- name: ohs-httpd
configMap:
defaultMode: 0555
name: ohs-httpd
- name: ohs-htdocs
configMap:
defaultMode: 0555
name: ohs-htdocs
- name: ohs-myapp
configMap:
defaultMode: 0555
name: ohs-myapp
- name: webgate-config
configMap:
defaultMode: 0555
name: webgate-config
- name: webgate-wallet
configMap:
defaultMode: 0555
name: webgate-wallet
- name: ohs-wallet
configMap:
defaultMode: 0555
name: ohs-wallet
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1