【问题标题】:Argo Kubernetes has Pods?Argo Kubernetes 有 Pod?
【发布时间】:2022-08-24 17:30:01
【问题描述】:

我有一个关于 Argo 的非常基本的问题。抱歉,如果这是触发。

据我了解,Argo 是 Kubernetes API 通过成为“资源”的扩展,即它由“kubectl argo xyz”调用,即端点是 argo。而不是端点是一个 pod 等。每个资源都有对象。在 Pod 的情况下,它是容器。在 argo 资源的情况下,它是 yaml 文件,其中包含 docker containers/script/dag/task 等。

我发起

kubectl create ns argo

kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml

当我尝试

kubectl create ns argo

我看到 4-5 个 pod 已经在运行。

是否出于某种原因将相同的词 argo 用于新的命名空间(资源组)和 argo 扩展? 更何况,当我使用kubectl apply -n argo -f 时,它只是用那个 yaml 文件创建了一个新的资源 argo 吗?

因此,这里存在三个实体 - argo ns、argo 资源、argo api(直到现在还没有使用,没有 argo yaml 用于定义的工作流/dag/task ..)?

https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml 到底有什么?

enter image description here

    标签: kubernetes minikube argo


    【解决方案1】:

    Argo Workflows 是一个操作员,它是您部署到集群中的守护程序,因此它必须运行实际代码。这样做的唯一方法是使用 pod。

    【讨论】:

    • 如果我错了,请纠正我。 Pod 是一种资源,Argo 是一种自定义资源。资源也可以使用另一个资源,即 Argo,一种资源,使用 Pod。 Argo Yaml -> raw.githubusercontent.com/argoproj/argo-workflows/master/…。 argo 守护进程的配置文件是否部署到集群?这也是一种资源,因为我们使用 kubectl apply 仅适用于资源?
    • 对不起,另一个文本,kubectl apply argo ...那是CRD,提交给argo CLI的新型yaml是Controller..即需要声明的最终状态....这两者构成了不可见的“操作员”,但是由这两个组成?
    • 我想你已经明白了。算子一般有两部分。首先是自定义 API 类型(CRD、自定义资源定义),它们为 Kubernetes API 添加了新类型。这些类型本身不做任何事情,它们只是数据库中的行。但后半部分是一个控制器,它从 API 读取数据并用它做“一些事情”。对于 Argo Workflows,“某事”是为整个工作流运行过程设置 Job 对象和诸如此类的东西。但控制器与此分开,作为守护进程在后台运行。
    【解决方案2】:

    https://raw.githubusercontent.com/argoproj/argo-workflows/master/manifests/quick-start-postgres.yaml 可以帮助您快速将 argo 安装到您的 k8s 集群,以便您可以使用 argo 工作流的确切功能。可以使用对应的crdworkflowworkflowTemplate等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-26
      • 2021-08-15
      • 2019-10-20
      • 2019-10-26
      • 2020-04-20
      • 1970-01-01
      • 2020-05-22
      • 2022-08-14
      相关资源
      最近更新 更多