从k3s master在k3s代理上运行docker容器



我在ubuntu 20上制作了一个k3s-master,在另一个ubuntu上制作了k3s-agent。我把两个系统都连接到同一个网络上。我在k3s agent上有docker镜像,我可以在k3s代理上运行容器。我创建了一个集群,k3s代理和k3s主机都连接到集群。我在主机上用kubectl get nodes命令检查了一下,我可以看到代理和主机都在列。

以下几点我需要帮助。我想从k3s master在k3s代理上运行docker镜像。有没有办法从master在代理上运行docker镜像?

我开始知道我可以制作吊舱,使用吊舱我可以做到这一点。但pod不起作用。

如果我没有误解的话,你可以简单地用kubectl命令传递你的docker镜像,比如;kubectl run my-pod --image=your-image ...

如果您希望在代理端运行pod,则可以使用tainttoleration功能来匹配pod和节点。

我们可以做两件事。

  1. CCD_ 7

只需在yaml文件中提及nodeName: mynode1即可。

  1. taints and toleration

我们可以在pod的yaml文件中设置Taints and Toleration。以下示例。

将Tants设置为类似的节点

kubectl taint nodes mynode1 app=Device:NoSchedule

我们可以在yaml文件中容忍如下。

apiVersion: v1
kind: Pod
metadata:
name: scriptpod
spec:
containers:
- name: scriptdo
image: scriptdo
imagePullPolicy: Always
nodeName: mynode1
restartPolicy: Always
tolerations:
- key: "app"
operator: "Equal"
value: "Device"
effect: "NoSchedule"

的污染和容忍度文件

注意:-我同时设置了nodeNametaints and toleration,导致nodeName在极少数情况下不起作用。

相关内容

  • 没有找到相关文章

最新更新