运行 docker 来自 k3s-master 的 k3s-agent 上的容器
Run docker container on k3s-agent from k3s-master
我在 ubuntu 20 上制作了一个 k3s-master
,在另一个 ubuntu 20 上制作了一个 k3s-agent
。我将两个系统连接到同一个 network.I docker k3s-agent 上的图像,我可以 运行 k3s-agent.I 上的容器创建一个集群,k3s-agent 和 k3s-master 都连接到集群。我在 master 上使用 kubectl get nodes
命令检查,我可以看到列出了 agent 和 master。
我需要以下方面的帮助。
我想在 k3s-master 的 k3s-agent 上 运行 docker 图像。有什么办法 运行 docker 从 master 到 agent 的图像吗?
我开始知道我可以制作 pod 并且使用 pod 我可以做到这一点。但是 pod 不工作。
如果我没有误解的话,您可以简单地使用 kubectl 命令传送您的 docker 图像,例如;
kubectl run my-pod --image=your-image ...
如果你想在 agent-side 上 运行 pods 那么你可以使用 taint
和 toleration
能力来匹配 pods 和节点。
我们可以做两件事。
nodeName
,
只需在 yaml 文件中提及 nodeName: mynode1
。
taints and toleration
我们可以在 pod 的 yaml 文件中设置 Taints and Toleration
。示例如下。
像这样为节点设置污点
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"
Document for taints and toleration
注意:- 我同时设置了 nodeName
和 taints and toleration
,因为 nodeName
在极少数情况下不起作用。
我在 ubuntu 20 上制作了一个 k3s-master
,在另一个 ubuntu 20 上制作了一个 k3s-agent
。我将两个系统连接到同一个 network.I docker k3s-agent 上的图像,我可以 运行 k3s-agent.I 上的容器创建一个集群,k3s-agent 和 k3s-master 都连接到集群。我在 master 上使用 kubectl get nodes
命令检查,我可以看到列出了 agent 和 master。
我需要以下方面的帮助。 我想在 k3s-master 的 k3s-agent 上 运行 docker 图像。有什么办法 运行 docker 从 master 到 agent 的图像吗?
我开始知道我可以制作 pod 并且使用 pod 我可以做到这一点。但是 pod 不工作。
如果我没有误解的话,您可以简单地使用 kubectl 命令传送您的 docker 图像,例如;
kubectl run my-pod --image=your-image ...
如果你想在 agent-side 上 运行 pods 那么你可以使用 taint
和 toleration
能力来匹配 pods 和节点。
我们可以做两件事。
nodeName
,
只需在 yaml 文件中提及 nodeName: mynode1
。
taints and toleration
我们可以在 pod 的 yaml 文件中设置 Taints and Toleration
。示例如下。
像这样为节点设置污点
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"
Document for taints and toleration
注意:- 我同时设置了 nodeName
和 taints and toleration
,因为 nodeName
在极少数情况下不起作用。