clicklink 的单个二进制文件形式提供;可通过 clicklink clctl 运行相关命令。本页介绍安装和日常运维中使用的命令。对任意命令运行 --help,即可查看完整帮助文本。troubleshoot 和 preflight 子树中的 flags 还可通过 CLCTL_* 环境变量 (名称见各 flag 的帮助输出) 或 ~/.clicklink/clctl.yaml 提供。
clicklink clctl init
--force,否则会复用现有客户端密钥。有关完整流程,请参阅入门配置。
入口点
通用标志
签名选项 (仅限阶段 1)
仅适用于 Kubernetes 的标志
--target helm 一同使用。
仅适用于 VM 的标志
--target systemd 配合使用。
标志冲突
--handoff、--enroll和--signed-cert互斥;必须且只能指定其中一个。- 仅 Kubernetes 适用的标志仅在指定
--target helm时可用;使用--target helm时,不接受--server和--ca-data(Helm 流程会读取工作站的 kubeconfig) 。 --no-auto-sign与--sign-endpoint互斥,且二者 (以及--api-private-ca) 均不能与--signed-cert一起使用。--operators与--no-gateway互斥。- 使用
--skip-provision时,不接受--ch-pod、--ch-user-suffix、--server、--ca-data和--ch-admin-password-stdin(不会执行任何预配) 。
clicklink clctl preflight
--k8s-namespace 时,它会通过 kubectl exec 在连接器 pod (容器组) 中运行连接器自身的二进制文件,并在本地生成报告 (在 pod 中始终跳过 systemd 检查) 。使用远程通道标志时,则会在远程 VM 上运行已安装的二进制文件。
--k8s-* 标志与远程通道标志互斥;请选择其中一个目标。
clicklink clctl troubleshoot session
- 本地文件 (默认) :在运行故障排除程序的主机上读取和写入会话状态文件 (默认为
/var/lib/clicklink/session.json) 。 - Gateway:使用
--gateway-url时,会从您的工作站获取 OIDC ID 令牌,并改为调用故障排除程序的会话网关。
启用 session
如果已有处于活动状态的 session,启用操作将失败;请先将其禁用,或等待其过期。
禁用 session
会话状态
--output (-o) 可选择 table (默认) 或 json。
在 Kubernetes 中,通过端口转发访问网关:
clicklink clctl troubleshoot gateway trust
~/.clicklink/clctl.yaml,以便 session 命令验证该证书;若固定的指纹不再匹配,验证将失败并拒绝连接。可通过以下两种带外方式之一建立信任:
- 使用远程通道标志时,会通过已完成身份验证的通道直接从 VM 读取并固定证书。
- 不使用通道时,传入
--gateway-fingerprint,其值为连接器生成证书时记录的 SHA-256 指纹;仅当获取的证书与其匹配时才会固定。省略该标志会打印出当前提供的指纹,但不会固定任何内容。
clicklink clctl troubleshoot audit tail
连接器 的运行时镜像不包含 shell,因此在 Kubernetes 中,此命令是受支持的读取方式:
访问凭据预配
clicklink clctl scraper access provision 和 clicklink clctl troubleshoot access provision 会创建组件每个实例的访问包;使用 --force 时会轮换该访问包。访问包包括只读 ClickHouse 用户及其授权,以及组件所使用的 Kubernetes ServiceAccount、RBAC 和令牌。init 会在安装期间内联执行此操作;独立命令则用于重新执行和轮换。
轮换某个组件中某个实例的凭据:
远程通道标志
preflight、gateway trust 和 access provision 接受一组通用标志,用于指定连接到 VM 目标的方式: