4.9 ohs.yamlファイルの準備

Oracle HTTP Server (OHS)デプロイメントに対応したohs.yamlファイルを準備します。

ohs.yamlファイルを準備するには、次のステップを実行します。
  1. サンプルyamlファイルを$MYOHSFILESにコピーします。
    cd $MYOHSFILES
    cp $SCRIPTDIR/*.yaml .
  2. $MYOHSFILES/ohs.yamlを編集し、インストールと一致するように次のパラメータを変更します。
    • <NAMESPACE>をネームスペース(ohsnsなど)へ。
    • <IMAGE_NAME>をOracle Container Registryの正しいイメージ・タグへ。イメージに独自のコンテナ・レジストリを使用している場合は、imageの場所を適切に変更する必要があります。独自のコンテナ・レジストリが開いている場合は、imagePullSecretsは必要ありません。
    • ConfigMapおよびシークレットの以前の作成中に、指定した例から名前を変更した場合は、それに応じて値を更新する必要があります。
    • 完全な情報を提供するためにすべてのConfigMapが表示されます。使用していないConfigMapを削除します。たとえば、htdocsが不要な場合は、ohs-htdocs ConfigMapを削除します。Oracle WebGateをデプロイしない場合は、webgate-configwebgate-walletなどのConfigMapを削除します。
    • htdocsの下にディレクトリを追加で作成した場合は、ConfigMapおよびディレクトリ名と一致するエントリを追加します。
    • 使用されるすべてのConfigMapは、指定されたディレクトリにマウントする必要があります。
    • ポートは必要に応じて変更できます。
    • Oracle WebGateをデプロイするかどうかに応じて、DEPLOY_WGtrueまたは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