Копировать команду аварийного запуска при запуске в Kubernetes - PullRequest
0 голосов
/ 13 декабря 2018

Я новичок в Kubernetes и пытаюсь понять команды.По сути, я пытаюсь создать развертывание Tomcat, добавить nfs и после этого скопировать файл war в веб-приложения tomcat.Но его сбой

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: webapp11-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: webapp11
    spec:
      volumes:
        - name: www-persistent-storage
          persistentVolumeClaim:
            claimName: claim-webapp11
      containers:
      - name: webapp11-pod
        image: tomcat:8.0
        volumeMounts:
          - name: www-persistent-storage
            mountPath: /apps/build
        command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps"]
        ports:
        - containerPort: 8080

Насколько я понимаю, когда образ, когда изображение имеет команду, например catalina.sh, запускается на образе Tomcat, он будет конфликтовать с командой из kubernetes.Это верно?Есть в любом случае запустить команду после запуска модуля?спасибо

1 Ответ

0 голосов
/ 13 декабря 2018

Нет, вы, вероятно, хотите что-то вроде этого:

command: ["sh","-c","cp /apps/build/v1/sample.war /usr/local/tomcat/webapps && exec /whatever/catalina.sh"]

Или вы можете переместить cp в initContainer, чтобы вам не приходилось переопределять команду по умолчанию для вашего Tomcatконтейнер.

...