GitOps CLI (argocd)参考
配置 GitOps CLI 并在默认模式下登录到 Argo CD 服务器
摘要
第 1 章 配置 GitOps CLI 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps argocd CLI 工具只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以配置 GitOps argocd CLI 来启用 tab 自动完成功能。
1.1. 启用 tab 自动完成功能 复制链接链接已复制到粘贴板!
安装 GitOps argocd CLI 后,您可以启用 tab 自动完成功能,以便在按 Tab 键时自动完成 argocd 命令或建议选项。
Tab 补全仅针对 Bash shell 存在。
先决条件
-
已安装 GitOps
argocdCLI 工具。 -
需要在本地系统中安装了
bash-completion。
流程
以下流程为 Bash shell 启用 tab 自动完成功能。
将 Bash 完成代码保存到一个文件中:
argocd completion bash > argocd_bash_completion
$ argocd completion bash > argocd_bash_completionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将文件复制到
/etc/bash_completion.d/:sudo cp argocd_bash_completion /etc/bash_completion.d/
$ sudo cp argocd_bash_completion /etc/bash_completion.d/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,您可以将文件保存到一个本地目录,并从
.bash_profile文件中 source 这个文件。
开新终端时 tab 自动完成功能将被启用。
第 2 章 以默认模式登录到 Argo CD 服务器 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps argocd CLI 工具只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
您可以使用 GitOps argocd CLI 和 Argo CD 凭证以默认模式登录到 Argo CD 服务器。
2.1. 登录到 Argo CD 服务器 复制链接链接已复制到粘贴板!
安装和配置 GitOps argocd CLI 后,您必须登录到 Argo CD 服务器,以便在默认模式下执行命令。
先决条件
-
已安装并配置了 GitOps
argocdCLI 工具。
流程
您必须使用您的凭证登录并在整个会话中保持登录。
If the login session times out, you can use the `relogin` command to log in again. When done using the `argocd` commands, you can log out using the `logout` command.
If the login session times out, you can use the `relogin` command to log in again. When done using the `argocd` commands, you can log out using the `logout` command.
获取 Argo CD 服务器的
admin帐户密码:ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)$ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 Argo CD 服务器 URL:
SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')$ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
admin帐户密码并用单引号括起来来登录到 Argo CD 服务器:重要用单引号括起密码可确保 shell 不会误解特殊字符,如
$。始终使用单引号括起密码的字面值。argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}$ argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
$ argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 成功登录后,会话上下文将显示如下:
输出示例
'admin:login' logged in successfully Context '<server_url>' updated
'admin:login' logged in successfully Context '<server_url>' updatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第 3 章 GitOps argocd CLI 参考 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps argocd CLI 工具只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
本节列出了基本的 GitOps argocd CLI 命令。
3.1. 基本语法 复制链接链接已复制到粘贴板!
GitOps argocd CLI 是一个用于从命令行配置和管理 Red Hat OpenShift GitOps 和 Argo CD 资源的工具。
3.1.1. 默认模式 复制链接链接已复制到粘贴板!
在默认模式中,argocd CLI 客户端通过 API 请求与 Argo CD 服务器组件通信。要执行命令,您必须使用 Argo CD 凭证登录到 Argo CD 服务器,并在整个会话中保持登录。如果登录会话超时,您可以使用 relogin 命令再次登录。使用 argocd 命令完成后,您可以使用 logout 命令注销。
命令语法
ArgoCD [command or options] [arguments…]
3.1.2. 核心模式 复制链接链接已复制到粘贴板!
在这个模式中,CLI 通过 kubeconfig 文件中设置的凭证直接与 Kubernetes API 服务器通信。默认 kubeconfig 文件位于 $HOME/.kube/config 位置。您可以使用 KUBECONFIG 环境变量自定义此文件。要在 core 模式中执行命令,您可以使用 --core 参数,不需要登录到 Argo CD 服务器以进行用户身份验证。
要以 < argocd-instance-name>-repo-server 格式指定 Repo 服务器组件名称,您可以使用 --repo-server-name 命令行选项或设置 ARGOCD_REPO_SERVER_NAME 环境变量。
命令语法
KUBECONFIG=~/.kube/config argocd --core [command or options] [arguments…]
您可以选择在 core 模式中执行 argocd 命令之一:
如果使用多个 Argo CD 实例,请将当前上下文的默认命名空间设置为您要与之交互的 ArgoCD 实例的命名空间。
默认
kubeconfig文件带有默认上下文:ArgoCD --core [command or options] [arguments…]示例 1:显示应用程序列表
argocd --core app list --repo-server-name openshift-gitops-repo-server
$ argocd --core app list --repo-server-name openshift-gitops-repo-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 2:显示应用程序列表
ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core app list
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core app listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 带有自定义上下文的默认
kubeconfig文件:ArgoCD --core --kube-context [context] [command or options] [arguments…]示例 1:显示应用程序列表
argocd --core --kube-context kubeadmin-local app list --repo-server-name openshift-gitops-repo-server
$ argocd --core --kube-context kubeadmin-local app list --repo-server-name openshift-gitops-repo-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例 2:显示应用程序列表
ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core --kube-context kubeadmin-local app list
$ ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server argocd --core --kube-context kubeadmin-local app listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 带有默认上下文的自定义
kubeconfig文件:KUBECONFIG=~/.kube/custom_config argocd --core [command or options] [arguments…]示例:显示应用程序列表
KUBECONFIG=~/.kube/custom_config argocd --core app list --repo-server-name openshift-gitops-repo-server
$ KUBECONFIG=~/.kube/custom_config argocd --core app list --repo-server-name openshift-gitops-repo-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 带有自定义上下文的自定义
kubeconfig文件:KUBECONFIG=~/.kube/custom_config argocd --core --kube-context [context] [command or options] [arguments…]示例:显示应用程序列表
KUBECONFIG=~/.kube/custom_config argocd --kube-context kubeadmin-local --core app list --repo-server-name openshift-gitops-repo-server
$ KUBECONFIG=~/.kube/custom_config argocd --kube-context kubeadmin-local --core app list --repo-server-name openshift-gitops-repo-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 全局选项 复制链接链接已复制到粘贴板!
全局选项可用于 argocd 的所有子命令。
| 选项 | 参数类型 | 描述 |
|---|---|---|
|
|
| 身份验证令牌。 |
|
|
| 客户端证书文件. |
|
|
| 客户端证书密钥文件。 |
|
|
|
Argo CD 配置文件的路径。默认为 |
|
|
|
带有
如果此组件名称的标签与默认值不同,例如,当您通过 Helm Chart 安装它时,请设置 |
|
| N/A |
如果设置为 |
|
| N/A | 为 Argo CD 服务器启用 gRPC-Web 协议。例如,当服务器位于不支持 HTTP/2 协议的代理后面,这很有用。 |
|
|
| 为 Argo CD 服务器启用 gRPC-Web 协议。例如,当服务器位于不支持 HTTP/2 协议的代理后面,这很有用。设置 Web root。 |
|
|
|
将额外标头配置为由 GitOps |
|
| N/A |
GitOps |
|
|
| 设置与 Argo CD 服务器建立 HTTP 连接的最大重试次数。 |
|
| N/A | 跳过服务器证书和域验证。 |
|
|
| 将命令定向到给定的 kube 上下文。 |
|
|
|
将日志记录格式设置为 text 或 JSON。默认为 |
|
|
|
设置日志记录级别。默认为 |
|
| N/A | 禁用传输层安全(TLS)协议。 |
|
| N/A | 使用端口转发连接到随机 Argo CD 服务器端口。 |
|
|
| 用于端口转发的命名空间名称。 |
|
|
|
使用
如果此部署的名称的标签与默认值不同,例如,当您通过 Helm Chart 安装 HAProxy 时,请设置 |
|
|
|
使用
如果此部署的名称的标签与默认值不同,例如,当您通过 Helm Chart 安装它时,请设置 |
|
|
|
使用
如果此 Repo 服务器名称的标签与默认的不同,例如,当您通过 Helm Chart 安装它时,请设置 |
|
|
| Argo CD 服务器地址。 |
|
|
| 服务器证书文件. |
|
|
|
带有
如果此 Argo CD API 服务器名称的标签与默认值不同,例如,当您通过 Helm Chart 安装它时,请设置 |
3.3. 工具命令 复制链接链接已复制到粘贴板!
3.3.1. argocd 复制链接链接已复制到粘贴板!
GitOps argocd CLI 的父命令。
示例: 显示所有选项
argocd
$ argocd
3.3.2. version 复制链接链接已复制到粘贴板!
打印 CLI 的版本信息。
命令语法
ArgoCD 版本 [flags]
示例:将客户端和服务器的完整版本输出到 stdout
argocd version
$ argocd version
示例:仅打印客户端的完整版本,不会进行与服务器的连接
argocd version --client
$ argocd version --client
示例:只打印服务器的完整版本
argocd version --server <server_url>
$ argocd version --server <server_url>
示例:以 JSON 格式打印客户端和服务器的完整版本
argocd version -o json
$ argocd version -o json
示例:以 YAML 格式仅打印客户端和服务器内核版本字符串
argocd version --short -o yaml
$ argocd version --short -o yaml
3.3.3. 帮助 复制链接链接已复制到粘贴板!
打印应用程序中任何命令的帮助信息。
命令语法
ArgoCD help [command] [flags]
示例:获取所有可用命令的帮助文本
argocd help
$ argocd help
示例:获取 admin 子命令的帮助文本
argocd help admin
$ argocd help admin
3.3.4. completion 复制链接链接已复制到粘贴板!
将 bash 或 zsh shell 完成代码写入标准输出。
命令语法
ArgoCD completion SHELL [flags]
对于 bash,请确保已安装并启用了 Bash 完成。或者,将其写入一个文件,并将其保存在 .bash_profile 中。
示例:访问当前 shell 中的完成
source <(argocd completion bash)
# source <(argocd completion bash)
对于 zsh,请确保已安装并启用了 Bash 完成。
示例:添加到 ~/.zshrc 文件,并在当前 shell 中访问完成
source <(argocd completion zsh) compdef _argocd argocd
source <(argocd completion zsh)
compdef _argocd argocd