1

我在集群上运行 Harbor Registry,从集群外部推送和拉取图像没有问题。

现在我希望能够从该注册表创建一个 pod。像这样的东西:

.
kubectl run -i --tty --rm debug --image=harbor.harbor.svc.cluster.local/test/alpine:latest --restart=Never -- sh

.

这可能吗?

更新

如果我尝试通过其服务名称访问注册表,它harbor.harbor.svc.cluster.local不起作用,因为找不到主机名。

如何引用我的图像?

4

3 回答 3

1

正如@Rajesh 在评论中提到的,如果您与节点在同一子网中,或者如果您为集群使用某些云(如 AWS、GKE),则需要创建NodePort类型服务,您也可以创建LoadBalancer类型服务并通过外部访问负载均衡器到您的注册表。

于 2019-01-30T13:48:58.363 回答
0

好吧,这不是您设想的单一设置调用。您必须遵循一组步骤(阅读为先决条件)才能对其进行排序:

  1. 在节点上设置本地注册表
  2. 设置 docker 证书 - 从您的 pod 安全访问本地注册表所需的
  3. 设置 k8s 机密,这将是您部署的一部分 - 需要访问节点上的本地注册表
  4. 最后,部署本身
于 2019-01-30T14:43:26.630 回答
0

对的,这是可能的。还有本地注册表的概念,它是集群的一部分,您可以从中提取图像。甚至 OpenShift 也带有本地注册表。

于 2019-01-30T09:10:19.370 回答