- 首页
- Documentation
- 运行时工具
- F5 XC 上下文
F5 XC 上下文
xcsh 通过上下文连接到 F5 Distributed Cloud — 上下文是将租户 URL、API 令牌和命名空间绑定在一起的命名凭据集。如果您使用过 kubectl config use-context 或 kubectx,工作流程完全相同:创建上下文、通过名称在上下文之间切换,并使用 - 快速切回。
1. 创建您的第一个上下文
Section titled “1. 创建您的第一个上下文”您需要从 F5 XC 控制台获取三项信息:租户 URL、API 令牌,以及可选的命名空间。
/context create production https://acme.console.ves.volterra.io p12k3-your-api-tokenContext 'production' created. Use /context activate production to switch to it.如果您喜欢逐步引导式提示,也可以使用交互式向导:
/context wizard2. 激活上下文
Section titled “2. 激活上下文”/context production╭─ production ─────────────────────────────────────────────────╮│ XCSH_TENANT acme ││ XCSH_API_URL https://acme.console.ves.volterra.io ││ XCSH_API_TOKEN ...oken ││ Status Connected (312ms) │├─ Environment ────────────────────────────────────────────────┤│ XCSH_NAMESPACE default │╰──────────────────────────────────────────────────────────────╯激活后,xcsh 会将租户凭据注入您的会话中。代理现在可以进行 F5 XC API 调用,状态行会显示当前活跃的上下文。
3. 添加更多上下文并在它们之间切换
Section titled “3. 添加更多上下文并在它们之间切换”/context create staging https://staging.console.ves.volterra.io p12k3-staging-token按名称切换 — 无需子命令动词:
/context staging切回上一个上下文(cd - 风格):
/context -连续调用 /context - 两次会返回到起始位置。
4. 查看已有上下文
Section titled “4. 查看已有上下文”/context production https://acme.console.ves.volterra.io* staging https://staging.console.ves.volterra.io* 标记表示当前活跃的上下文。
| 命令 | 功能说明 |
|---|---|
/context | 列出所有上下文 |
/context <name> | 切换到指定上下文 |
/context - | 切换到上一个上下文 |
/context show | 显示活跃上下文的详细信息(令牌已脱敏) |
/context status | 显示当前认证状态 |
上下文生命周期
Section titled “上下文生命周期”| 命令 | 功能说明 |
|---|---|
/context create <name> <url> <token> [namespace] | 创建上下文 |
/context delete <name> --confirm | 删除上下文(需要 --confirm) |
/context rename <old> <new> | 重命名上下文 |
/context validate <name> | 测试凭据而不切换上下文 |
/context export [name] [--include-token] | 导出为 JSON(默认脱敏令牌) |
/context import <path-or-json> [--overwrite] | 从文件或内联 JSON 导入 |
/context wizard | 交互式引导设置 |
切换命名空间
Section titled “切换命名空间”每个上下文都有一个默认命名空间。可以在不更改上下文的情况下切换命名空间:
/context namespace systemTab 补全会提供来自活跃租户的命名空间名称。
上下文上的环境变量
Section titled “上下文上的环境变量”上下文可以携带额外的环境变量,这些变量会在激活时注入您的会话中。适用于不属于凭据集但与特定租户相关的配置。
/context set CUSTOM_HEADER=x-acme-trace/context set LOG_LEVEL=debug/context env list/context unset LOG_LEVEL别名:add = set,remove/clear = unset。
Tab 补全
Section titled “Tab 补全”输入 /context 并按 Tab 键。下拉列表会显示:
- 上下文名称 — 带有租户 URL 提示,便于区分不同租户
-— 在您之前切换过时出现,显示将要切换到的上下文- 子命令 —
list、create、delete等
上下文名称排在最前面,因为切换是最常见的操作。
子命令级别的补全同样有效:/context activate <Tab> 补全上下文名称,/context namespace <Tab> 补全命名空间,/context unset <Tab> 补全已知的环境变量键。
上下文名称必须为 1-64 个字符:字母、数字、连字符、下划线。
与子命令冲突的名称会被拒绝:
/context create list https://example.com tokError: Context name 'list' conflicts with a /context subcommand. Choose a different name.完整的保留名称集:list、show、status、create、delete、rename、namespace、env、set、unset、add、remove、clear、activate、validate、export、import、wizard、help。比较不区分大小写。
环境变量覆盖
Section titled “环境变量覆盖”如果在启动 xcsh 之前在 shell 环境中设置了 XCSH_API_URL 和 XCSH_API_TOKEN,它们将优先于任何上下文。这对于 CI/CD 流水线或不需要创建持久上下文的临时会话非常有用。
在此模式下运行时,/context 会显示来自环境变量的凭据,并带有 (via env vars) 标签。
上一个上下文的行为
Section titled “上一个上下文的行为”- 会话级作用域:上一个上下文会在重启 xcsh 时重置,不会持久化到磁盘。
- 乒乓切换:连续执行
/context -两次会返回到起始位置。 - 变更安全:如果删除了上一个上下文,指针会被清除。如果重命名了上一个上下文,指针会跟随新名称。
- 重复激活为空操作:在已处于
production时执行/context production不会重置上一个上下文的指针。
/context 的用户体验遵循以下设计:
- kubectx:
kubectx <name>用于切换,kubectx -切回上一个,单独的kubectx用于列表 - kubectl:
kubectl config use-context作为显式形式 - Shell:
cd -/OLDPWD用于上一目录跟踪