0

我有一台 CentOS 机器,我在其中创建了 Kubernetes 集群:

minikube start --driver=docker --addons ingress.

在集群内部,我使用 Helm 图表安装了一个 Harbor 实例,其中:

helm install harbor-release harbor/harbor --set expose.type=ingress

在 CentOS 机器中,我在 /etc/hosts 中添加了一个指向新入口的条目:

echo "$(minikube ip) core.harbor.domain" >> /etc/hosts

有了这个,我可以从这台机器访问 Harbor。我可以使用 Firefox 登录,并且可以推送一些自定义图像:

docker pull python
docker tag docker.io/python core.harbor.domain:443/library/python:latest
docker login https://core.harbor.domain --username admin --password Harbor12345
docker push core.harbor.domain:443/library/python:latest

我们都很高兴。当我尝试使用这些图像部署另一个 Helm 图表时,我的问题就开始了。Kubernetes 无法提取图像和超时。经过一些尝试,我发现我的 minikube 节点无法连接到 Harbor。

我尝试向 /etc/hosts 添加不同的 IP,例如 127.0.0.1minikube ip等,但没有任何结果。Docker 永远无法拉动。如果我使用 127.0.0.1 我可以做 acurl -k https://core.harbor.domain但不能做docker login.

我还尝试将 core.harbor.domain 添加到 docker 不安全的注册表中,但没有任何运气。

也许我遗漏了一些东西,我首先不应该能够从我的 minikube 节点访问入口 url。

  • 我可能做错了什么?
  • 您认为将 Harbor 和应用程序 pod 放在同一个集群中是一种好方法吗?
4

0 回答 0