Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 库伯内特斯:图像可以';不要被拉_Java_Spring Boot_Docker_Kubernetes - Fatal编程技术网

Java 库伯内特斯:图像可以';不要被拉

Java 库伯内特斯:图像可以';不要被拉,java,spring-boot,docker,kubernetes,Java,Spring Boot,Docker,Kubernetes,在加入企业k8s/AWS EKS之前,我使用docker desktop在Mac上进行本地k8s测试,并使用以下Dockerfile: FROM openjdk:11-jre-slim ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 按照以下步骤部署到docker desktop: docker build

在加入企业k8s/AWS EKS之前,我使用
docker desktop
在Mac上进行本地k8s测试,并使用以下Dockerfile:

FROM openjdk:11-jre-slim
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
按照以下步骤部署到docker desktop:

docker build . -t cpchung/rema

kubectl create deployment rema --image=cpchung/rema --dry-run -o=yaml > deployment.yaml
echo --- >> deployment.yaml
kubectl create service clusterip rema --tcp=8080:8080 --dry-run -o=yaml >> deployment.yaml
kubectl apply -f deployment.yaml
这将生成deployment.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: rema
  name: rema
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rema
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: rema
    spec:
      containers:
      - image: cpchung/rema
        name: rema
        resources: {}
status: {}
---
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: rema
  name: rema
spec:
  ports:
  - name: 8080-8080
    port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    app: rema
  type: ClusterIP
status:
  loadBalancer: {}
并使用以下运行状况检查测试部署:

kubectl port-forward svc/rema 8080:8080
但我得到了这个错误:

robinhood $ kubectl get all
NAME                        READY   STATUS             RESTARTS   AGE
pod/rema-57df6cf5fc-px8pc   0/1     ImagePullBackOff   0          4m29s

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP    18h
service/rema         ClusterIP   10.100.78.60   <none>        8080/TCP   152m

NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/rema   0/1     1            0           4m29s

NAME                              DESIRED   CURRENT   READY   AGE
replicaset.apps/rema-57df6cf5fc   1         1         0       4m29s


robinhood $ kubectl logs rema-57df6cf5fc-px8pc
Error from server (BadRequest): container "rema" in pod "rema-57df6cf5fc-px8pc" is waiting to start: image can't be pulled
这里可能出了什么问题?我正在使用mac和docker desktop。

应该可以为您解决这个问题

在部署中添加
imagePullPolicy:Never

默认情况下,对于没有标记的图像,docker中会为其提供
latest
标记。默认情况下,Kubernetes尝试为
latest
标记提取图像,但无法在dockerhub中找到图像


另一种方法是将您的图像也推送到dockerhub。

Kubernetes在哪里运行,如何运行?映像需要位于群集配置为访问的存储库中。您是否也可以在此添加deployment.yaml文件添加
imagePullPolicy:Never
有效,但随后会出现以下错误:``curl localhost:8080/exactor/health{“timestamp”:“2020-03-05T18:52:37.055+0000”,“状态”:404,“错误”:“未找到”,“消息”:“无可用消息”,“路径”:“/执行器/运行状况”}```从pod日志中,我看到服务正在运行。那么这里可能有什么问题?请仔细检查您是否正确启用了执行器即使我使用
curl localhost:8080/api
这是一个已实现的端点,它也不起作用。当我在部署中使用
docker run
添加容器端口来运行它时,它会起作用
robinhood $ kubectl get all
NAME                        READY   STATUS             RESTARTS   AGE
pod/rema-57df6cf5fc-px8pc   0/1     ImagePullBackOff   0          4m29s

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP    18h
service/rema         ClusterIP   10.100.78.60   <none>        8080/TCP   152m

NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/rema   0/1     1            0           4m29s

NAME                              DESIRED   CURRENT   READY   AGE
replicaset.apps/rema-57df6cf5fc   1         1         0       4m29s


robinhood $ kubectl logs rema-57df6cf5fc-px8pc
Error from server (BadRequest): container "rema" in pod "rema-57df6cf5fc-px8pc" is waiting to start: image can't be pulled
robinhood $ docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
cpchung/rema                                    latest              14a4957873cd        2 hours ago         224MB