7.4 Kubernetes環境で運用する
uCARTを組み込んだDockerイメージを,Kubernetes環境で運用する場合のマニフェストの定義例を次に示します。下線部分は使用する環境に合わせて変更してください。
apiVersion: v1 kind: Service metadata: name: tomcat-ucart spec: selector: app: tomcat-ucart ports: - name: "tomcat-http-port" port: 8080 targetPort: 8080 - name: "ucart-http-port" [1.] port: 28081 targetPort: 28081 type: NodePort --- apiVersion: apps/v1 kind: Deployment metadata: name: tomcat-ucart spec: replicas: 1 selector: matchLabels: app: tomcat-ucart template: metadata: labels: app: tomcat-ucart spec: containers: - name: tomcat-ucart image: <イメージ名> [2.] ports: - containerPort: 8080 - containerPort: 28081 [3.] volumeMounts: [4.] - name: snapshot-volume mountPath: /ucart-snapshots startupProbe: [5.] httpGet: path: /path-to-healthcheck port: 8080 readinessProbe: [6.] exec: command: - /bin/sh - -c - test ! -e /tmp/tomcat-failure-detected initialDelaySeconds: 1 periodSeconds: 1 terminationGracePeriodSeconds: 60 [7.] volumes: [4.] - name: snapshot-volume persistentVolumeClaim: claimName: ucart-snapshot-pvc
- [説明]
-
-
コンテナ外に公開するuCARTのTomcatプロセスモニタが使用するHTTP機能の受付ポートのマッピング先ポート番号を指定します。
-
「6.4 Dockerイメージをビルドする」でビルドした,「(C)ユーザアプリケーションをデプロイするDockerイメージ」のイメージ名を指定します。
-
Tomcatプロセスモニタが使用するHTTP機能の受付ポートである28081番ポートを公開ポートとして指定します。
-
スナップショットログの出力先として指定したパスをPersistent Volumeにマウントします。マウント先のPersistent VolumeとPersistence Volume Claimは,事前に作成するか,またはこのマニフェストファイルに定義を追記してください。
-
Tomcatの起動完了を検知するためのStartup Probeを定義します。GETリクエストによってユーザアプリケーションの起動完了を確認できるURLを指定してください。
-
Tomcatの正常稼働を監視するためのReadiness Probeを定義します。詳細は,「5.2.1 コンテナの閉塞を高速化する」を参照してください。
-
コンテナに正常停止シグナルを送出してから,強制停止に遷移するまでの猶予時間を指定します。ここでは例として60秒を指定していますが,スナップショットの収集と出力を完了させるのに十分な時間を指定してください。
-