在 Mac 上连接 Civo API Key,一次就够。
最后更新 作者: Marcel R. G. Berger
在 Civo 控制台生成密钥,粘贴一次,之后交给 macOS Keychain 保管。
在 Mac 上用 Civo,第一步都一样:没有 API key,后面什么都做不了。常规做法是走 Civo CLI,密钥会被写进你主目录下的一个明文 JSON 文件,之后自己管。CivoCloudManager 用的是同一把密钥,区别在于它在初始设置阶段就拿 Civo REST API v2 验证一遍,然后存进 macOS Keychain,而不是某个 dotfile。两条路这页都写了,挑顺手的那条。
在 CivoCloudManager 里连接密钥
-
01
点开菜单栏里的盾牌。
首次启动后,应用会在菜单栏放一个盾牌图标。点开它就进入六步初始设置。不需要注册账号,也没有什么可订阅的,因为应用是直接和 Civo 说话。
-
02
粘贴 API key 并验证。
密钥填进一个安全输入框。按下“验证”,应用会先拿它去调一次 Civo,通过了才让你继续,所以打错一个字符、或者用了已经重新生成过的旧密钥,会当场失败,而不是等到三屏之后。验证通过会就地确认。
-
03
选择区域。
应用会从你的账户读取实时的区域列表,每个区域连同所属国家一起显示。选中的区域会成为那些需要指定区域的请求的默认值。单个请求仍然可以显式指向别的区域。
-
04
挑出要管理的防火墙,并给每个设定端口。
初始设置会按区域列出账户里的防火墙,你勾选希望菜单栏控制的那些。每个防火墙配一个端口,默认是 Kubernetes API server 用的 6443。这一步可以跳过,以后再配。
-
05
按需开启“开机时启动”。
这会用 SMAppService 注册应用,重启之后菜单栏盾牌还在。如果你用定时防火墙访问,这一项很重要:应用必须在运行、并且能连上 Civo,才能把自己打开的规则关掉。
Civo API key 从哪来
密钥在 Civo 控制台生成,任何客户端都生成不了。登录之后进入账户区域的 Security 版块,直接地址是 dashboard.civo.com/security,你的 API key 都列在那里。Civo 自己的文档也在同一处讲轮换:点密钥旁边的 Regenerate 就会重置,改动立刻生效,之后每一个请求都得用新密钥。把这个值当密码对待,它握着账户的完整权限。如果拿不准手上的密钥还是不是当前那把,与其去排查 401,不如直接重新生成再粘贴一遍。
作为对照:CLI 那条路
官方 Civo CLI 按名字保存密钥。用 civo apikey add <name> <key> 添加一把,用 civo apikey current <name> 切成当前密钥,用 civo apikey list 看手上有哪些。这些连同区域之类的设置一起落在主目录下的 .civo.json 里。路径可以用 CIVO_CONFIG 环境变量或者 --config 参数换掉。CI/CD 和写脚本就该用它,而且有句话得说清楚:多个命名账户之间来回切,CLI 做得比应用好。它唯一没做的事,是给密钥加上文件权限之外的任何保护。
密钥在你 Mac 上的去向
CivoCloudManager 把密钥作为通用密码项写进 macOS Keychain,只有在 Mac 解锁时可读,绝不落到主目录的配置文件里。应用内查看已保存的机密,比如实例密码、数据库密码和 Object Store 的 secret access key,都要先过 LocalAuthentication 的 Touch ID。你的 Civo 密钥只会发往一个主机:api.civo.com,也就是 Civo REST API v2。这条路径上没有发行方的任何服务器,应用也不采集遥测。它运行在 App Sandbox 里,只申请四项权限:沙盒、对外网络客户端、用于导出的用户选择文件读写,以及应用范围书签。有一处需要老实交代:菜单栏要为你当前的地址开防火墙,就得知道你的公网 IP,这个是问一个公共 IP 回显服务拿到的。那个请求不带任何 Civo 凭据。
同一把密钥能到 Kubernetes API,所以 kubectl 可有可无
你的 API key 会从 Civo 取回集群的 kubeconfig,而 Kubernetes 的访问权限实际上就在这份 kubeconfig 里。应用用 Swift 解析它,用 SecItemImport 导入 PEM 证书和私钥,用 SecIdentityCreate 把两者配成一对,再从 URLSession 直接建立客户端证书 mTLS。不用 kubectl,不用 openssl,不启动外部进程。kubeconfig 里的 CA 是这条连接唯一的信任锚,主机不对、CA 不相干或者叶子证书过期,都走不到接受那一步。pod 日志、工作负载、事件和节点指标都从这条连接过来。你也随时可以把 kubeconfig 导出成 .yaml 文件,想用 kubectl 就用。
用这把密钥,不需要先掏钱
菜单栏的防火墙管理永久免费:为当前公网 IP 开关访问、每个防火墙单独配端口、带名字的 IP 预设、15 分钟、30 分钟、一小时或两小时的定时访问,以及批量关闭。完整的资源仪表盘从首次启动起免费用七个自然日,之后需要在 Mac App Store 上一次性购买,支持 Family Sharing。不用银行卡,没有订阅,我们这边也没有账号。需要 macOS 15 或更新版本,Apple silicon 或 Intel 都可以。
关于 Civo API key,大家都在问
Civo API key 在哪里找?
把 Civo API key 存在 Mac 上安全吗?
轮换或吊销 Civo API key 之后会怎样?
<name> <key>,再跟一条 civo apikey current <name>。其他都不用动,因为区域、防火墙选择和 IP 预设是分开存的。 可以同时用多个 Civo 账户吗?
<name> 来回切。如果你整天在几个账户之间跳,那部分交给 CLI,应用留给你真正盯着的那个账户。 还需要 Civo CLI 吗?
指南
一步一步,以及诚实的对比。
- 01 为你的 IP 开防火墙 手动流程、它留下的动态 IP 隐患,以及一条免费的菜单栏路径:到点自动关掉规则。
- 02 对比 Lens、OpenLens 和 k9s 三个与集群无关的工具,一个只认 Civo 的。差别决定了你想开着哪一个。
- 03 通过 S3 使用 Civo Object Storage 区域 endpoint,s3cmd、rclone 和 AWS CLI 的可用配置,以及原生客户端有什么不一样。
- 04 Mac 上的 Civo DNS 把域名指向 Civo 的 nameserver,之后把这个 zone 放在原生应用里管,而不是一个浏览器标签页。
- 05 更新日志 每一个已发布的版本,最新的在前,附带商店更新说明装不下的细节。
深入了解
按 Civo 产品拆开细说。
CivoCloudManager 覆盖的每个 Civo 领域都有单独一页,讲清细节、取舍和架构。挑一个离你日常最近的。
- 01 Mac 上的 Civo CLI 替代方案 图形界面在哪些地方赢过 CLI,哪些地方不如,以及两者怎么共存。
- 02 Mac 上的 Civo Kubernetes 图形界面 实时集群仪表盘、实时 pod 日志,不需要 kubectl。
- 03 Mac 上的 Civo Object Storage 浏览器 原生的 S3 兼容浏览器。闲置 bucket 可暂停到中央保险库。
- 04 在 Mac 菜单栏管理 Civo 防火墙 每个防火墙一键开关,自动识别 IP,支持自动关闭定时器。
- 05 Mac 上的 Civo 费用仪表盘 来自 Civo charges API 的真实费用。周期选择器和月末预测。
- 06 Civo 区域 哪些 Civo 产品在哪个区域运行,GPU 在哪里,以及 CivoCloudManager 如何把四个区域放进一个窗口。
菜单栏防火墙不花钱。
在 Mac App Store 下载 CivoCloudManager,粘贴一次密钥,之后就能从菜单栏为当前 IP 开关防火墙访问,免费,不需要购买。