从kubernetes中拉本地仓库docker镜像

问题描述 投票:0回答:1

[尝试在我的本地环境中使用Pod安装示例容器应用程序我正在使用Docker桌面随附的kubernates集群。

我正在使用带有YML文件的bellow命令创建Podkubectl创建-f test_image_pull.yml

apiVersion: v1
kind: Pod
metadata:
# value must be lower case
  name: sample-python-web-app
spec:
  containers:
    - name: sample-hello-world
      image: local/sample:latest
      imagePullPolicy: Always
      command: ["echo", "SUCCESS"]

用于构建映像的docker文件,并且如果您与docker run一起运行,此容器将运行而没有任何问题

# Use official runtime python
FROM python:2.7-slim

# set work directory to app

WORKDIR /app
# Copy current directory
COPY . /app

# install needed packages
RUN pip install --trusted-host pypi.python.org -r requirement.txt

# Make port 80 available to outside container

EXPOSE 80

# Define environment variable

ENV NAME World

# Run app.py when the container launches

CMD ["python" , "app.py"]


from flask import Flask
from redis import Redis, RedisError
import os
import socket


#connect to redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)

@app.route("/")

def hello():
    try:
       visits = redis.incr("counter")
    except RedisError:
        visits = "<i>cannot connect to Redis, counter disabled</i>"

    html = "<h3>Hello {name}!</h3>" \
            "<b>Hostname:</b> {hostname}<br/>"  \
            "<b>Visits:</b> {visits}"


    return html.format (
              name=os.getenv("NAME", "world"),
              hostname=socket.gethostname(),
              visits=visits  
            )

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)            

Flask
Redis


一旦我描述了Pod,它就会向我显示以下错误

kubectl描述广告连播示例-python-web-app

事件:从消息中键入原因年龄---- ------ ---- ---- -------正常计划的3m25s默认调度程序已成功将default / sample-python-web-app分配给docker-desktop正常拉动97s(x3,超过3m22s)kubelet,docker-desktop桌面拉动图像“ local / sample:latest”警告失败94s(x4超过3m17s)kubelet,docker-desktop未能提取图像“ local / sample:latest”:rpc错误:代码=未知desc =来自守护程序的错误响应:对本地/样本的提取访问被拒绝,存储库不存在或可能需要“ docker登录”:拒绝:请求的对资源的访问被拒绝警告失败94s(x4超过3m17s)kubelet,docker-desktop错误:ErrImagePull正常Backoff 78s(x6超过3m16s)kubelet,docker-desktop桌面Backoff提取图像“ local / sample:latest”警告失败66s(x7,超过3m16s)kubelet,docker-desktop错误:ImagePullBackOff

kubernetes
1个回答
0
投票

如果要为Kubernetes集群设置本地存储库,则可以遵循this指南。

[我建议使用Trow.io,它是Kubernetes的映像管理,可以快速创建一个运行Kubernetes的注册表,并提供一种安全快速的方法来使容器在集群上运行。

我们正在为Kubernetes(以及其他协调器)构建图像管理解决方案。它的核心是Trow Registry,它运行在集群内部,易于设置,并且与Kubernetes完全集成,包括对审计和RBAC的支持。

[为什么要“拖曳”

“ Trow”是一个具有多种不同含义的词。在设得兰群岛的民间传说中,一条拖网是一种小型的调皮的生物,类似于斯堪的纳维亚的巨魔。在英格兰,这是一种古老的货船,在河上运输货物。最后,它是一个古老的词,意为“思考,相信或信任”。读者可以自由选择他们最喜欢的解释,但应以“眉”押韵。

整个安装过程描述为here

© www.soinside.com 2019 - 2024. All rights reserved.