如何解决相当于 kubeadm
我有 3 个节点的 kubernetes 集群使用 kubeadm 进行管理。以前我使用 kind 和 minikube。当我想根据 docker 镜像进行部署时,我只需要 make:
- kind 加载 docker-image 或者,
- minikube 缓存添加到 minikube,
现在,当我想在 kubeadm 中进行部署时,我显然得到了 ImagePullBackOff。 问题:是否有等效注释将图像添加到 kubeadm 中而我找不到它,或者完全有其他方法可以解决该问题?
编辑
也许,问题不够清楚,所以我没有删除它,而是尝试添加更多细节。
我有树节点(一个控制平面和两个工作器),每个节点都安装了 docker、kubeadm、kubelet 和 kubectl。我未来集群的一种部署是机器学习模块,所以我需要 tensorflow:
docker pull tensorflow/tensorflow
我使用此图像构建自己的图像:
docker build -t mlimage:cluster -f ml.Dockerfile .
接下来我准备deployment.yaml
apiVersion: apps/v1
kind: Deployment
Metadata:
name: mldeployment
spec:
selector:
matchLabels:
app: mldeployment
name: mldeployment
replicas: 1
template:
Metadata:
labels:
app: mldeployment
name: mldeployment
spec:
containers:
- name: mlcontainer
image: mlimage:cluster
imagePullPolicy: Never
ports:
- name: http
containerPort: 6060
并创建它:
kubectl create -f mldeployment.yaml
现在,当我输入
kubectl describe pod
mldeployment 中有以下事件:
在 minikube 或 kind 的情况下,只需将图像添加到集群类型中就足够了
minikibe cache add ...
和
kind load docker-image ...
分别。
问题是如何将图像从我的机器添加到集群,以便从 kubeadm 管理它。我认为有类似 minikube 或 kind 的类似方法(无需创建与 docker hub 的任何连接,因为一切都在本地)。
解决方法
您收到 ImagePullBackOff 是因为 kubeadm 可能要检查注册表。
而如果您同时查看命令 minikube cache 和 kind load 用于将本地图像加载到集群中。
,据我所知,通过 kubeadm 管理的集群映像应该存储在受信任的注册表中,例如 dockerhub 或云。但是,如果您想在分离的网络中快速解决问题,则有一种可能性:Docker registry。 还有一些可以使用的工具,例如Trow 或 simpler solution。 我使用了第二种方法,它有效(代码有点旧,因此可能需要进行一些更改,此链接可能会有所帮助:change apiVersion、add label
修改之后,首先创建deployment和daemonSet:
kubectl create -f docker-private-registry.json
kubectl create -f docker-private-registry-proxy.json
将本地主机地址添加到图像:
docker tag image:tag 127.0.0.1:5000/image:tag
检查docker私有注册部署的全名,并转发端口(用确切的部署名称替换x:
kubectl get pod
kubectl port-forward docker-private-registry-deployment-xxxxxxxxx-xxxxx 5000:5000 -n default
打开下一个终端窗口并将镜像推送到私有注册表:
docker push 127.0.0.1:5000/image:tag
最终更改 deployment.yaml 文件容器映像(添加 127.0.0.1:5000/...)并创建部署。
此解决方案非常不安全且易受攻击,因此仅在用于测试和开发目的的分离网络中明智地使用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。