Kubernetes pod状态正在运行并返回完成状态

pinkon5k  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(148)

我正在EKS集群中运行POC java应用程序。下面是我将应用程序迁移到容器化应用程序的步骤。

  1. Java应用程序源代码签入到我的本地工作站。
    1.执行maven命令生成包mvn包-DskipTests
    1.像往常一样,mvn包命令将在目标文件夹中生成包,我可以看到所有的依赖项,包括jar文件,其中有selenium jar来运行测试用例。
    1.使用docker build命令,我从源代码docker build -t myapp创建了一个docker镜像。
    1.然后我使用下面的命令进入Docker容器,我可以看到我的测试用例成功执行,没有任何问题。
    码头文件
FROM openjdk:8u191-jre-alpine

# Workspace
WORKDIR /usr/share/selenium_docker

# ADD jar files and any other dependencies from HOST
ADD target/selenium-docker.jar selenium-docker.jar
ADD target/selenium-docker-tests.jar selenium-docker-tests.jar
ADD target/libs libs

# add TestNG suite files
ADD duck_search_tests.xml duck_search_tests.xml
ADD saucedemo_tests.xml saucedemo_tests.xml

# run tests using provided browser/hub address/test suite module
ENTRYPOINT java -cp selenium-docker.jar:selenium-docker-tests.jar:libs/* -DBROWSER=$BROWSER -DHUB_HOST=$HUB_HOST org.testng.TestNG $MODULE

个字符
接下来,我将我的docker镜像移动到docker hub注册表中,并尝试在EKS集群中部署镜像,当我进行部署时,我可以看到pod已经启动并运行,并且我运行kubectl logs -f pod命令来验证测试用例执行,我可以看到上面的消息,如Total tests run:2、故障:0,跳过:0,但问题是每次测试用例执行完成时,pod都重新启动,其pod状态一再变为CrashLoopBackOff并运行.....
这里是K8s yaml文件

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sample-app-deployment-deployment
  namespace: devops-java-selenium
  labels:
    app: sample-app-deployment
    name: sample-app-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: sample-app-deployment
  template:
    metadata:
      labels:
        app: sample-app-deployment
        name: sample-app-deployment
    spec:
      containers:
        - name: sample-app-deployment
          image: myapp
            env:
             - name: HUB_HOST
               value: "10.1.2.3"
             - name: BROWSER
               value: chrome
             - name: MODULE
               value: 
             - name: selenium_grid_host
               value: "4444"
          volumeMounts:
              - mountPath: /usr/share/selenium/test-output
                name: devops-caas-java-selenium-pv
      volumes:
        - name: devops-caas-java-selenium-pv
          hostPath:
             path: /tmp/palani


有人能帮我一下吗。

8fq7wneg

8fq7wneg1#

这是部署的本质。当窗格完成其任务时,窗格即完成。“但是部署的目的是保持一定数量的单元(副本),因此它将一次又一次地重新创建单元以实现其目的。这将导致您的CrashLoopBackOff。我想也许您应该使用一个kubernetes作业和restartPolicy:OnFailure,用于您的特定用例。

相关问题