只需在本地机器(Linux Mint 20.2)上研究K8S的核心即可。
使用以下命令在本地创建一个节点集群:
k3d集群创建mycluster
现在我想在容器中运行 spring boot 应用程序。
我构建本地图像:
库:0.1.0
这是摘自Deployment.yml
:
spec:
terminationGracePeriodSeconds: 40
containers:
- name: 'library'
image: library:0.1.0
imagePullPolicy: IfNotPresent
尽管图像已经构建:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
library 0.1.0 254c13416f46 About an hour ago 462MB
启动容器失败:
pod/library-867dfb64db-vndtj Pulling image "library:0.1.0"
pod/library-867dfb64db-vndtj Failed to pull image "library:0.1.0": rpc error: code = Unknown desc = failed to pull and unpack image "library:0.1.0": failed to resolve reference "library:0.1.0": failed to do request: Head "https://...com/v2/library/manifests/0.1.0": x509: certificate signed by unknown authority
pod/library-867dfb64db-vndtj Error: ErrImagePull
pod/library-867dfb64db-vndtj Error: ImagePullBackOff
pod/library-867dfb64db-vndtj Back-off pulling image "library:0.1.0"
如何解决k3d集群的本地图像可见性?
解决方案:
更新Deployment.yml
:
spec:
terminationGracePeriodSeconds: 40
containers:
- name: 'library-xp'
image: xpinjection/library:0.1.0
imagePullPolicy: Never
并将图像导入集群:
k3d 图像导入 xpinjection/library:0.1.0 -c mycluster
如果您不想使用 docker 注册表,则必须将本地构建的映像导入到 k3d 集群中:
k3d image import [IMAGE | ARCHIVE [IMAGE | ARCHIVE...]] [flags]
但不要忘记在部署中进行配置:
imagePullPolicy: Never
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)