使用本地港口的图像创建舵图
Create helm chart using image from local harbor
我创建了一个 NestJs
应用程序,使用 pkg
将其打包到 bin 文件中,使用 docker 图像将其容器化并将其命名为 projectABC
。所有这些都部署在 Ubuntu20 中,bin 文件 运行 非常好。
接下来,我想试试harbor repository. Following the tutorial, i created local harbor repository with self-signed certificate with this tut。我正在使用 minikube
在我的机器上部署 harbor。
harbor 启动后,我创建了一个名为“project”的项目,然后将 projectABC
图像推送到其中,并将 Project registry
设置为 Public
。从 docker login
、docker tag
到 docker push
一切都很好。测试新推送的图像,我可以 docker pull
并按预期检查 projectABC
运行。
所以现在我想使用 helm 图表进行部署。到目前为止,我已经成功登录注册表并推送了一个空图表项目。
helm create projectABC
export HELM_EXPERIMENTAL_OCI=1
helm chart save ./projectABC 192.168.1.69/project/ABC
helm registry login https://192.168.1.69 --insecure
helm chart push 192.168.1.69/project/ABC:0.0.1
然后我修改了values.yaml
从harbor repo中拉取镜像
image:
repository: 192.168.1.69/project/ABC:0.0.1
pullPolicy: Always
但是失败了,结果是:
container in pod is waiting to start: trying and failing to pull image
所以我的问题:
- 如何在 helm 中将我的 local-harbor 注册为 repo?
- 我的本地港口是否被视为私人或 public 仓库?
- 我应该怎么做才能让我的图表从我的 local-harbor 存储库中提取图像?
试图创建秘密并遵循此 discussion,但失败了。直到:
我用 kubectl describe
来检查我的 pod 发生了什么。事实证明,由于证书是由未知机构签署的,因此无法拉取图像。
在 reddit 中发现这个讨论,显示 minikube 需要在其自己的目录中有一份证书副本。提供证书并重新启动 minikube 后,它可以正常工作。
# create the dir if it is not exist
mkdir -p ~/.minikube/files/etc/ssl/certs
# copy the cert
cp ~/your.crt ~/.minikube/files/etc/ssl/certs/your-crt.pem
我创建了一个 NestJs
应用程序,使用 pkg
将其打包到 bin 文件中,使用 docker 图像将其容器化并将其命名为 projectABC
。所有这些都部署在 Ubuntu20 中,bin 文件 运行 非常好。
接下来,我想试试harbor repository. Following the tutorial, i created local harbor repository with self-signed certificate with this tut。我正在使用 minikube
在我的机器上部署 harbor。
harbor 启动后,我创建了一个名为“project”的项目,然后将 projectABC
图像推送到其中,并将 Project registry
设置为 Public
。从 docker login
、docker tag
到 docker push
一切都很好。测试新推送的图像,我可以 docker pull
并按预期检查 projectABC
运行。
所以现在我想使用 helm 图表进行部署。到目前为止,我已经成功登录注册表并推送了一个空图表项目。
helm create projectABC
export HELM_EXPERIMENTAL_OCI=1
helm chart save ./projectABC 192.168.1.69/project/ABC
helm registry login https://192.168.1.69 --insecure
helm chart push 192.168.1.69/project/ABC:0.0.1
然后我修改了values.yaml
从harbor repo中拉取镜像
image:
repository: 192.168.1.69/project/ABC:0.0.1
pullPolicy: Always
但是失败了,结果是:
container in pod is waiting to start: trying and failing to pull image
所以我的问题:
- 如何在 helm 中将我的 local-harbor 注册为 repo?
- 我的本地港口是否被视为私人或 public 仓库?
- 我应该怎么做才能让我的图表从我的 local-harbor 存储库中提取图像?
试图创建秘密并遵循此 discussion,但失败了。直到:
我用 kubectl describe
来检查我的 pod 发生了什么。事实证明,由于证书是由未知机构签署的,因此无法拉取图像。
在 reddit 中发现这个讨论,显示 minikube 需要在其自己的目录中有一份证书副本。提供证书并重新启动 minikube 后,它可以正常工作。
# create the dir if it is not exist
mkdir -p ~/.minikube/files/etc/ssl/certs
# copy the cert
cp ~/your.crt ~/.minikube/files/etc/ssl/certs/your-crt.pem