1

k3s-master在 ubuntu 20 上做了一个,k3s-agent在另一个 ubuntu 20 上做了一个。我的两个系统都连接到同一个网络。我在 k3s-agent 上有 docker 映像,我可以在 k3s-agent 上运行容器。我创建了一个集群和 k3s- agent 和 k3s-master 都连接到集群。我检查了kubectl get nodesmaster 上的命令,我可以看到 agent 和 master 已列出。

我需要以下几点帮助。我想从 k3s-master 在 k3s-agent 上运行 docker 映像。有什么方法可以在 master 的代理上运行 docker 镜像?

我开始知道我可以制作 pod 并且使用 pod 我可以做到这一点。但 pod 无法正常工作。

4

2 回答 2

1

如果我没有误解,您可以简单地使用 kubectl 命令交付您的 docker 映像,例如; kubectl run my-pod --image=your-image ...

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

于 2020-10-08T08:07:56.247 回答
0

我们可以做两件事。

  1. nodeName,

只需提及nodeName: mynode1yaml 文件。

  1. taints and toleration

我们可以Taints and Toleration在 pod 的 yaml 文件中进行设置。下面的例子。

像这样将 Taints 设置为节点

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在极少数情况下不起作用。

于 2020-10-21T05:41:44.110 回答