跳至内容

argo

argo

argo是Argo的命令行界面

概述

您可以通过以下模式使用CLI:

Kubernetes API 模式(默认)

请求直接发送到Kubernetes API,无需Argo Server支持。不支持大型工作流和工作流归档。

当您可以直接访问Kubernetes API,且不需要大型工作流或工作流归档支持时使用。

如果您使用的是实例ID(这种情况非常少见),则需要设置它:

ARGO_INSTANCEID=your-instanceid

Argo Server GRPC 模式

请求通过GRPC(使用HTTP/2协议)发送至Argo Server API。该系统支持大型工作流和工作流归档功能,但不支持不支持HTTP/2协议的网络负载均衡器。

如果您无法访问Kubernetes API(例如您位于另一个集群中),并且您正在使用支持HTTP/2的网络负载均衡器运行Argo Server,请使用此选项。

要启用此功能,请设置ARGO_SERVER:

ARGO_SERVER=localhost:2746 ;# The format is "host:port" - do not prefix with "http" or "https"

如果您启用了传输层安全性(TLS)(即您正在运行"argo server --secure"命令,因此使用HTTPS协议):

ARGO_SECURE=true

如果您的服务器使用的是自签名证书。请勿在生产环境中使用:

ARGO_INSECURE_SKIP_VERIFY=true

默认情况下,CLI会使用您的KUBECONFIG来确定ARGO_TOKEN和ARGO_NAMESPACE的默认值。您可能会遇到"未提供配置"的错误。为防止这种情况:

KUBECONFIG=/dev/null

接下来您需要设置:

ARGO_NAMESPACE=argo

以及:

ARGO_TOKEN='Bearer ******' ;# Should always start with "Bearer " or "Basic ".

Argo Server HTTP1 模式

与GRPC模式类似,但使用HTTP协议。适用于不支持HTTP/2的ALB。命令"argo logs --since-time=2020...."将无法正常工作(由于时间类型问题)。

当您的网络负载均衡器不支持HTTP/2时使用此选项。

使用与GRPC模式相同的配置,但还需设置:

ARGO_HTTP1=true

如果你的服务器位于带路径的入口后面(运行"argo server --base-href /argo"或"ARGO_BASE_HREF=/argo argo server"):

ARGO_BASE_HREF=/argo
argo [flags]

选项

      --argo-base-href string          Path to use with HTTP client due to Base HREF. Defaults to the ARGO_BASE_HREF environment variable.
      --argo-http1                     If true, use the HTTP client. Defaults to the ARGO_HTTP1 environment variable.
  -s, --argo-server host:port          API server host:port. e.g. localhost:2746. Defaults to the ARGO_SERVER environment variable.
      --as string                      Username to impersonate for the operation
      --as-group stringArray           Group to impersonate for the operation, this flag can be repeated to specify multiple groups.
      --as-uid string                  UID to impersonate for the operation
      --certificate-authority string   Path to a cert file for the certificate authority
      --client-certificate string      Path to a client certificate file for TLS
      --client-key string              Path to a client key file for TLS
      --cluster string                 The name of the kubeconfig cluster to use
      --context string                 The name of the kubeconfig context to use
      --disable-compression            If true, opt-out of response compression for all requests to the server
      --gloglevel int                  Set the glog logging level
  -H, --header strings                 Sets additional header to all requests made by Argo CLI. (Can be repeated multiple times to add multiple headers, also supports comma separated headers) Used only when either ARGO_HTTP1 or --argo-http1 is set to true.
  -h, --help                           help for argo
      --insecure-skip-tls-verify       If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
  -k, --insecure-skip-verify           If true, the Argo Server's certificate will not be checked for validity. This will make your HTTPS connections insecure. Defaults to the ARGO_INSECURE_SKIP_VERIFY environment variable.
      --instanceid string              submit with a specific controller's instance id label. Default to the ARGO_INSTANCEID environment variable.
      --kubeconfig string              Path to a kube config. Only required if out-of-cluster
      --loglevel string                Set the logging level. One of: debug|info|warn|error (default "info")
  -n, --namespace string               If present, the namespace scope for this CLI request
      --password string                Password for basic authentication to the API server
      --proxy-url string               If provided, this URL will be used to connect via proxy
      --request-timeout string         The length of time to wait before giving up on a single server request. Non-zero values should contain a corresponding time unit (e.g. 1s, 2m, 3h). A value of zero means don't timeout requests. (default "0")
  -e, --secure                         Whether or not the server is using TLS with the Argo Server. Defaults to the ARGO_SECURE environment variable. (default true)
      --server string                  The address and port of the Kubernetes API server
      --tls-server-name string         If provided, this name will be used to validate server certificate. If this is not provided, hostname used to contact the server is used.
      --token string                   Bearer token for authentication to the API server
      --user string                    The name of the kubeconfig user to use
      --username string                Username for basic authentication to the API server
  -v, --verbose                        Enabled verbose logging, i.e. --loglevel debug

另请参阅


有问题吗?

Search on GitHub Discussions and Slack.