我正在尝试使用负载平衡器大使为gRPC服务创建映射。为了部署和映射服务,我创建了一个Yaml文件,该文件包含以下几行(以及其他内容):
containers:
- name: grpc-pep
image: enm10k
imagePullPolicy: IfNotPresent
ports:
部署并运行kubectl get pods
时,会收到以下消息:
NAME READY STATUS RESTARTS AGE
ambassador-567f8c7c6-68bx6 2/2 Running 3 3d
ambassador-567f8c7c6-c2n6z 2/2 Running 3 3d
ambassador-567f8c7c6-kjznt 2/2 Running 5 3d
grpc-pep-5f54b8d77b-f4l94 0/1 ErrImagePull 0 3m
我收到我要访问的图像的ErrImagePull错误消息。 enm10k是一个dockerhub映像,给我的印象是我不应该创建它。但是,即使我做创建它,我也会收到以下错误消息:
tex@tex-ThinkPad-P50:~$ docker build -t enk10k .
WARN[0000] Unable to use system certificate pool: requires building with go 1.7 or later
Error checking context: 'no permission to read from '/home/tex/.cpan/build/CPAN-Meta-YAML-0.018-YA9MFT/lib/CPAN/Meta/YAML.pm''.
当我尝试在非主目录的地方构建它时:
$ docker build -t enm10k .
WARN[0000] Unable to use system certificate pool: requires building with go 1.7 or later
Sending build context to Docker daemon 980.1 MB
Error response from daemon: unexpected error reading Dockerfile: read /var/lib/docker/tmp/docker-builder360563372/Dockerfile: is a directory
因此,我无法构建图像,找不到图像,并且不确定如何处理它。我已经设置了minikube环境$ eval $(minikube docker-env)
,并且在yaml文件中几乎使用了imagePullPolicy
的所有策略版本。
我不确定该如何处理-希望有更多Docker知识的人可以为我提供帮助。
答案 0 :(得分:1)
yaml
文件有误,因为它缺少存储库名称。
containers:
- name: grpc-pep
image: enm10k
imagePullPolicy: IfNotPresent
ports:
如果您转到hub.docker.com并搜索enm10k,则会看到3个存储库。 在您的示例中,泊坞窗不知道要提取哪个存储库。
yaml文件应如下所示:
containers:
- name: grpc-pep
image: enm10k/grpc-hello-world
imagePullPolicy: IfNotPresent
ports:
您还可以查看有关如何获取gRPC and Ambassador的文档。