相关疑难解决方法(0)

kubernetes不能拉当地形象

我在一台机器上使用kubernetes进行测试,我已经从nginx docker图像构建了一个自定义图像,但是当我尝试在kubernetes中使用图像时,我得到一个图像拉错误?????

我的POD YAML

kind: Pod
apiVersion: v1
metadata:
  name: yumserver
  labels:
    name: frontendhttp
spec:
  containers:
    - name: myfrontend
      image: my/nginx:latest
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
      - mountPath: "/usr/share/nginx/html"
        name: mypd
  imagePullSecrets:
    - name: myregistrykey

  volumes:
    - name: mypd
      persistentVolumeClaim:
       claimName: myclaim-1
Run Code Online (Sandbox Code Playgroud)

我的KUBERNETES指挥

kubectl create -f pod-yumserver.yaml

错误

kubectl describe pod yumserver


Name: yumserver
Namespace: default
Image(s):   my/nginx:latest
Node:       127.0.0.1/127.0.0.1
Start Time: Tue, 26 Apr 2016 16:31:42 +0100
Labels:     name=frontendhttp
Status:     Pending
Reason:     
Message:    
IP:     172.17.0.2
Controllers:    <none> …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-registry

15
推荐指数
5
解决办法
3万
查看次数

(Kubernetes + Minikube)无法从本地注册表获取docker镜像

我在我的机器上设置了docker,还有minikube,里面有docker,所以我可能在不同的VM上运行了两个docker实例

我构建一个图像并标记它,然后将其推送到本地注册表,它成功推送,我也可以从注册表中拉出它也是当我运行curl得到标签列表我得到结果,这是我做的

1- docker build -t 127.0.0.1:5000/eliza/console:0.0.1 .
2- docker run -d -p 5000:5000 --name registry registry:2
3- docker tag a3703d02a199 127.0.0.1:5000/eliza/console:0.0.1
4- docker push 127.0.0.1:5000/eliza/console:0.0.1
5- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)

以上所有步骤都运行正常,没有任何问题.

我的问题是当我运行minikube并尝试在其中的本地注册表中访问此图像

所以,当我运行下一个命令

1- sudo minikube start --insecure-registry 127.0.0.1:5000
2- eval $(minikube docker-env)
3- minikube ssh
4- curl -X GET http://127.0.0.1:5000/v2/eliza/console/tags/list
Run Code Online (Sandbox Code Playgroud)

在最后一步(第4点),它给了我下一条消息

curl:(7)无法连接到127.0.0.1端口5000:连接被拒绝

因此,我可以从我的机器访问图像注册表,但不能从minikube访问,当我在minikube上使用Kubernetes部署此图像时,我当然会遇到问题,并且由于无法连接到http://127.0.0.1:5000而导致部署失败

你能帮我配置minikube来查看我的本地注册表,这样我的问题就能解决,然后我可以成功地使用kubernetes将图像部署到minikube吗?

UPDATE

我正在使用这个yaml文件(我命名为ConsolePre.yaml)来使用kubernetes部署我的图像

apiVersion: v1
  kind: Service
  metadata:
    name: tripbru-console
    labels:
      app: tripbru-console
  spec:
    ports:
      - port: 9080
        targetPort: 9080
        nodePort: …
Run Code Online (Sandbox Code Playgroud)

docker kubernetes docker-registry minikube

10
推荐指数
1
解决办法
9499
查看次数

Kubernetes Minikube Docker 尝试拉取镜像但失败

我有一个名为 docker-hello-world 的 docker 映像 - 它所做的只是使用 JRE 将 Hello World 打印到日志中。经过测试,它工作正常。

然后,我将图像导入 Kubernetes Docker 并运行——仍然没有问题。

docker images -a
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
docker-hello-world                                     latest              9a161d166742        20 hours ago        83.17 MB
Run Code Online (Sandbox Code Playgroud)
  1. 当我尝试部署到 Kubernetes 时kubectl run docker-hello-world --image=docker-hello-world:latest 出现问题 - 我也尝试了图像 ID,但我不明白为什么它找不到图像。

它说部署已创建。

kubectl get deployments
NAME                 DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
docker-hello-world   1         1                1                   0           24s

kubectl get pods
NAME                                                READY     STATUS         RESTARTS   AGE
docker-hello-world-67c745cff4-sv77d   0/1       ErrImagePull   0          43s
Run Code Online (Sandbox Code Playgroud)

日志:

kubectl logs docker-hello-world-67c745cff4-sv77d
Error from server …
Run Code Online (Sandbox Code Playgroud)

image docker kubernetes minikube

9
推荐指数
1
解决办法
2万
查看次数

127.0.0.1:5000: getsockopt: Minikube 中的连接被拒绝

在我的本地 Ubuntu 工作站上使用 minikube 和 docker,我在 Minikube Web UI 中收到以下错误:

Failed to pull image "localhost:5000/samples/myserver:snapshot-180717-213718-0199": rpc error: code = Unknown desc = Error response from daemon: Get http://localhost:5000/v2/: dial tcp 127.0.0.1:5000: getsockopt: connection refused
Run Code Online (Sandbox Code Playgroud)

在我创建以下部署配置后:

kubectl apply -f hello-world-deployment.yaml
Run Code Online (Sandbox Code Playgroud)

hello-world-deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: hello-world
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: hello-world
        tier: backend
    spec:
      containers:
      - name: hello-world
        image: localhost:5000/samples/myserver:snapshot-180717-213718-0199
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        env:
        - name: GET_HOSTS_FROM
          value: dns
        ports:
        - containerPort: 8080 …
Run Code Online (Sandbox Code Playgroud)

docker minikube

6
推荐指数
1
解决办法
1万
查看次数

不使用设置为“始终”的 ImagePullPolicy 有什么好处?

Kubernetes 文档中提到使用的缓存语义ImagePullPolicy: Always使得 ImagePullPolicy 非常高效。我想选择不同的 ImagePullPolicy 的原因是什么?

kubernetes

6
推荐指数
2
解决办法
1163
查看次数

将 podman/buildah 创建的容器镜像部署到 minikube 有哪些好的工作流程?

我正在 Linux 工作站上使用 podman 和 minikube 探索和学习容器和 kubernetes。我使用 podman 在工作站上构建映像,并希望在使用 kvm2 虚拟机驱动程序的工作站上运行的 minikube 中部署这些映像。我还使用 CRI-O 容器运行时启动 minikube。

在这种情况下,将这些映像从工作站部署到 minikube 的有效工作流程是什么?Docker 不在 minikube 虚拟机上运行,​​因此不能像 minikube 文档中描述的那样重用 Docker 守护进程。使用 kvm2 时,此时与 minikube 共享主机文件系统似乎也不可行。

运行对工作站和 minikube vm 都可见的本地注册表是最佳选择吗?解答如何使用当地搬运工图像与Minikube?并且(Kubernetes + Minikube)无法从本地注册表获取 docker 镜像似乎为配置本地注册表提供了很好的解决方案。

skopeo 会是一个解决方案吗?

编辑:这是一篇很好的文章,描述了如何使用 podman 设置注册表:https ://computingforgeeks.com/create-docker-container-registry-with-podman-letsencrypt/

谢谢你

布拉德

kvm minikube cri-o podman

6
推荐指数
1
解决办法
503
查看次数

使用 kubectl 设置镜像拉取策略

按照文档和这个问题,我试图在使用kubectl创建部署时提取我使用docker在本地创建的图像。我正在寻找这样的东西,

kubectl create deployment first-k8s-deploy --image="laxman/nodejs/express-app" --image-pull-policy="never"

调查kubectl create deployment --help不提供任何--image-pull-policy选择。

是否有任何全局配置来设置 imagePullPolicy 以及如何仅为某些特定部署设置此标志?

kubernetes kubectl

5
推荐指数
2
解决办法
5343
查看次数

如何使用Minikube设置imagePullPolicy

我是Kubernetes的新手.我正在尝试按照本教程指导我如何使用minikube设置本地服务.我能够$ kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.10 --port=8080从教程中获得运行服务的东西.好哇!

现在我想运行一个带有本地标记和构建的 Docker镜像的服务器.根据这篇文章,我需要做的就是告诉我的电脑使用minikube docker守护进程,构建我的图像,然后设置imagePullPolicy为never.

如何和我在哪里设置imagePullPolicyminikube?我已经google了一下,虽然有很多结果,但我在K8的"树林里的宝贝"状态会导致信息过载.(即你的答案越简单越好)

kubernetes minikube

1
推荐指数
1
解决办法
2128
查看次数

标签 统计

kubernetes ×6

minikube ×5

docker ×4

docker-registry ×2

cri-o ×1

image ×1

kubectl ×1

kvm ×1

podman ×1