-
Notifications
You must be signed in to change notification settings - Fork 226
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1636 from sunilarjun/add-v2.11
Adding v2.11 Rancher Docs - UI Preview
- Loading branch information
Showing
915 changed files
with
146,404 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
i18n/zh/docusaurus-plugin-content-docs/version-2.11/api/api-reference.mdx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
title: API 参考 | ||
--- | ||
|
||
<head> | ||
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/api/api-reference"/> | ||
</head> | ||
|
||
:::note | ||
|
||
目前,并非所有的 Rancher 资源都可以通过 Rancher Kubernetes API 操作。 | ||
|
||
::: | ||
|
||
import ApiDocMdx from '@theme/ApiDocMdx'; | ||
|
||
<ApiDocMdx id="rancher-api" /> |
87 changes: 87 additions & 0 deletions
87
i18n/zh/docusaurus-plugin-content-docs/version-2.11/api/api-tokens.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
--- | ||
title: API 令牌 | ||
--- | ||
|
||
默认情况下,某些集群级别的 API 令牌是使用无限期 TTL(`ttl=0`)生成的。换言之,除非你让令牌失效,否则 `ttl=0` 的 API 令牌永远不会过期。令牌不会因为更改密码而失效。 | ||
|
||
要停用 API 令牌,你可以删除令牌或停用用户账号。 | ||
|
||
## 删除令牌 | ||
要删除令牌: | ||
|
||
1. 转到 `https://<Rancher-Server-IP>/v3/tokens`,在 Rancher API 视图中查看包含所有令牌的列表。 | ||
|
||
1. 通过 ID 访问要删除的令牌。例如,`https://<Rancher-Server-IP>/v3/tokens/kubectl-shell-user-vqkqt`。 | ||
|
||
1. 单击**删除**。 | ||
|
||
以下是使用 `ttl=0` 生成的完整令牌列表: | ||
|
||
| 令牌 | 描述 | | ||
| ----------------- | -------------------------------------------------------------------------------------- | | ||
| `kubeconfig-*` | Kubeconfig 令牌 | | ||
| `kubectl-shell-*` | 在浏览器中访问 `kubectl` shell | | ||
| `agent-*` | Agent deployment 令牌 | | ||
| `compose-token-*` | compose 令牌 | | ||
| `helm-token-*` | Helm Chart deployment 令牌 | | ||
| `telemetry-*` | 遥测令牌 | | ||
| `drain-node-*` | 用于清空的令牌(由于没有原生 Kubernetes API,我们使用 `kubectl` 来清空) | | ||
|
||
|
||
## 在 Kubeconfig 令牌上设置 TTL | ||
|
||
管理员可以在 Kubeconfig 令牌上设置全局存活时间 (time-to-live,TTL)。如需更改默认 kubeconfig TTL,你可以导航到全局设置并将 [`kubeconfig-default-token-ttl-minutes`](#kubeconfig-default-token-ttl-minutes) 设置为所需的持续时间(单位:分钟)。[`kubeconfig-default-token-ttl-minutes`](#kubeconfig-default-token-ttl-minutes) 的默认值为 0,表示令牌永不过期。 | ||
|
||
:::note | ||
|
||
除了由 CLI 创建的用于[生成 kubeconfig 令牌](#在生成的-kubeconfig-中禁用令牌)的令牌之外,所有 kubeconfig 令牌都使用此设置。 | ||
|
||
::: | ||
|
||
## 在生成的 Kubeconfig 中禁用令牌 | ||
|
||
1. 将 `kubeconfig-generate-token` 设置为 `false`。此设置让 Rancher 不再在用户单击下载 kubeconfig 文件时自动生成令牌。如果停用此设置,生成的 kubeconfig 将引用 [Rancher CLI](../reference-guides/cli-with-rancher/kubectl-utility.md#使用-kubectl-和-kubeconfig-令牌进行-ttl-认证) 来检索集群的短期令牌。当这个 kubeconfig 在客户端(例如 `kubectl`)中使用时,你需要安装 Rancher CLI 来完成登录请求。 | ||
|
||
2. 将 `kubeconfig-token-ttl-minutes` 设置为所需的时长(单位:分钟)。`kubeconfig-token-ttl-minutes` 默认设置为 960(即 16 小时)。 | ||
|
||
## 令牌哈希 | ||
|
||
你可以启用令牌哈希,令牌将使用 SHA256 算法进行单向哈希。这是一个不可逆的操作,一旦启用,此功能将无法禁用。在启用功能或在测试环境中评估之前,建议你先进行备份。 | ||
|
||
要启用令牌哈希,请参阅[本节](../how-to-guides/advanced-user-guides/enable-experimental-features/enable-experimental-features.md)。 | ||
|
||
此功能将影响所有令牌,包括但不限于以下内容: | ||
|
||
- Kubeconfig 令牌 | ||
- 持有者令牌 API 密钥/调用 | ||
- 内部操作使用的令牌 | ||
|
||
## 令牌设置 | ||
|
||
以下全局设置会影响 Rancher 令牌的行为: | ||
|
||
| 设置 | 描述 | | ||
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ||
| [`auth-user-session-ttl-minutes`](#auth-user-session-ttl-minutes) | 用户认证会话令牌的 TTL(单位:分钟)。 | | ||
| [`kubeconfig-default-token-TTL-minutes`](#kubeconfig-default-token-ttl-minutes) | 默认 TTL,应用于所有 kubeconfig 令牌(除了[由 Rancher CLI 生成的令牌](#在生成的-kubeconfig-中禁用令牌))。**此设置从 2.6.6 版本开始引入。** | | ||
| [`kubeconfig-token-ttl-minutes`](#kubeconfig-token-ttl-minutes) | 在 CLI 中生成的令牌 TTL。**自 2.6.6 起已弃用,并将在 2.8.0 中删除**。请知悉,`kubeconfig-default-token-TTL-minutes` 将用于所有 kubeconfig 令牌。 | | ||
| [`auth-token-max-ttl-minutes`](#auth-token-max-ttl-minutes) | 除了由 [`auth-user-session-ttl-minutes`](#auth-user-session-ttl-minutes) 控制的令牌外,所有令牌的最大 TTL。 | | ||
| [`kubeconfig-generate-token`](#kubeconfig-generate-token) | 如果为 true,则在用户下载 kubeconfig 时自动生成令牌。 | | ||
|
||
### auth-user-session-ttl-minutes | ||
存活时间(TTL)(单位:分钟),用于确定用户身份验证会话令牌的到期时间。过期后,用户将需要登录并获取新令牌。此设置不受 [`auth-token-max-ttl-minutes`](#auth-token-max-ttl-minutes) 的影响。会话令牌是在用户登录 Rancher 时创建的。 | ||
|
||
### kubeconfig-default-token-TTL-minutes | ||
存活时间(TTL)(单位:分钟),用于确定 kubeconfig 令牌的到期时间。令牌过期后,API 将拒绝令牌。此设置的值不能大于 [`auth-token-max-ttl-minutes`](#auth-token-max-ttl-minutes) 的值。此设置适用于在请求的 kubeconfig 文件中生成的令牌,不包括[由 Rancher CLI 生成的](#在生成的-kubeconfig-中禁用令牌)令牌。 | ||
**此设置从 2.6.6 版本开始引入**。 | ||
|
||
### kubeconfig-token-ttl-minutes | ||
存活时间(TTL)(单位:分钟),用于确定由 CLI 生成的 kubeconfig 令牌的到期时间。当 [`kubeconfig-generate-token`](#kubeconfig-generate-token) 设为 false 时,则由 CLI 生成令牌。令牌过期后,API 将拒绝令牌。此设置的值不能大于 [`auth-token-max-ttl-minutes`](#auth-token-max-ttl-minutes) 的值。 | ||
**自版本 2.6.6 起已弃用,并将在 2.8.0 中删除。请知悉,此设置将被 [`kubeconfig-default-token-TTL-minutes`](#kubeconfig-default-token-ttl-minutes) 的值替换**。 | ||
|
||
### auth-token-max-ttl-minutes | ||
身份验证令牌的最大生存时间 (TTL)(单位:分钟)。如果用户尝试创建一个 TTL 大于 `auth-token-max-ttl-minutes` 的令牌,Rancher 会将令牌 TTL 设置为 `auth-token-max-ttl-minutes` 的值。身份验证令牌是为验证 API 请求而创建的。 | ||
**2.6.6 版本更改:适用于所有 kubeconfig 令牌和 API 令牌。** | ||
|
||
### kubeconfig-generate-token | ||
如果设置为 true,则通过 UI 请求的 kubeconfig 将包含一个有效的令牌。如果设置为 false,kubeconfig 将包含一个使用 Rancher CLI 提示用户登录的命令。然后,[CLI 将为用户检索和缓存令牌](../reference-guides/cli-with-rancher/kubectl-utility.md#使用-kubectl-和-kubeconfig-令牌进行-ttl-认证)。 |
152 changes: 152 additions & 0 deletions
152
i18n/zh/docusaurus-plugin-content-docs/version-2.11/api/quickstart.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
--- | ||
title: API 快速入门指南 | ||
--- | ||
|
||
<head> | ||
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/api/quickstart"/> | ||
</head> | ||
|
||
你可以通过 Kubernetes API 访问 Rancher 的资源。本指南将帮助你以 Rancher 用户的身份开始使用此 API。 | ||
|
||
1. 在左上角,点击 **☰ > 全局设置**. | ||
2. 找到 `server-url` 字段并复制其地址。 | ||
3. [创建](../reference-guides/user-settings/api-keys.md#创建-api-密钥)一个没有作用域的 Rancher API 密钥。 | ||
|
||
:::danger | ||
|
||
没有作用域的 Rancher API 密钥授予用户可以访问的所有资源的无限制的访问权限。为防止未经授权的使用,此密钥应安全存储并经常轮换。 | ||
|
||
::: | ||
|
||
4. 创建一个 `kubeconfig.yaml` 文件,将 `$SERVER_URL` 替换成上面从全局设置中复制的地址,并且将 `$API_KEY` 替换为上面创建的 Rancher API 密钥: | ||
|
||
```yaml | ||
apiVersion: v1 | ||
kind: Config | ||
clusters: | ||
- name: "rancher" | ||
cluster: | ||
server: "$SERVER_URL" | ||
|
||
users: | ||
- name: "rancher" | ||
user: | ||
token: "$API_KEY" | ||
|
||
contexts: | ||
- name: "rancher" | ||
context: | ||
user: "rancher" | ||
cluster: "rancher" | ||
|
||
current-context: "rancher" | ||
``` | ||
你可以使用任何兼容的工具来引用这个文件,例如 kubectl 或 [client-go](https://github.com/kubernetes/client-go)。快速演示内容请参阅 [kubectl 示例](#api-kubectl-示例) | ||
更多有关处理更复杂证书的设置信息,请参阅[指定 CA 证书](#指定-ca-证书)。 | ||
更多关于可用的 kubeconfig 选项,请参阅[上游文档](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)。 | ||
## API kubectl 示例 | ||
在此示例中,我们将展示如何使用 kubectl 创建一个项目,然后删除它。关于其他可用的 Rancher 资源列表,请参阅 [API 参考](./api-reference.mdx)。 | ||
:::note | ||
目前,并非所有的 Rancher 资源都可以通过 Rancher Kubernetes API 操作。 | ||
::: | ||
1. 将 KUBECONFIG 环境变量设置为刚才创建的 kubeconfig 文件: | ||
```bash | ||
export KUBECONFIG=$(pwd)/kubeconfig.yaml | ||
``` | ||
|
||
2. 使用 `kubectl explain` 查看项目的可用字段,或者复杂资源的子字段: | ||
|
||
```bash | ||
kubectl explain projects | ||
kubectl explain projects.spec | ||
``` | ||
|
||
不是所有的资源都有详细的输出。 | ||
|
||
3. 在名称为 `project.yaml` 的文件中添加以下内容: | ||
|
||
```yaml | ||
apiVersion: management.cattle.io/v3 | ||
kind: Project | ||
metadata: | ||
# name 应在每个集群的所有项目中都是唯一的 | ||
name: p-abc123 | ||
# generateName 可以替代 `name` 来随机生成一个名称 | ||
# generateName: p- | ||
# namespace 应与 spec.ClusterName 匹配 | ||
namespace: local | ||
spec: | ||
# clusterName 应与目标集群的 `metadata.Name` 匹配 | ||
clusterName: local | ||
description: Example Project | ||
# displayName 是人类可读的名称并且从 UI 中显示 | ||
displayName: Example | ||
``` | ||
4. 创建项目: | ||
```bash | ||
kubectl create -f project.yaml | ||
``` | ||
|
||
5. 删除项目: | ||
|
||
项目删除的方式取决于项目名称的创建方式。 | ||
|
||
**A. 如果在创建项目时使用 `name`**: | ||
|
||
```bash | ||
kubectl delete -f project.yaml | ||
``` | ||
|
||
**B. 如果你使用 `generateName`**: | ||
|
||
将 `$PROJECT_NAME` 替换为 kubectl 创建项目后随机生成的项目名称。 | ||
|
||
```bash | ||
kubectl delete project $PROJECT_NAME -n local | ||
``` | ||
|
||
## 指定 CA 证书 | ||
|
||
为确保你的工具能够识别 Rancher 的 CA 证书,大多数设置都需要对上述模板进行额外修改。 | ||
|
||
1. 在左上角点击 **☰ > 全局设置**. | ||
2. 查找并复制 `ca-certs` 字段中的值。 | ||
3. 将复制的值保存在名称为 `rancher.crt` 的文件中。 | ||
|
||
:::note | ||
如果你的 Rancher 实例由其他服务代理,你必须提取该服务正在使用的证书,并将其添加到 kubeconfig 文件中,如步骤 5 所示。 | ||
::: | ||
|
||
4. 以下命令会将 `rancher.crt` 转换为 base64 输出,除去所有换行符,并使用证书内容更新 kubeconfig 中的 cluster 选项,然后删除 `rancher.crt` 文件: | ||
|
||
```bash | ||
export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG | ||
kubectl config set clusters.rancher.certificate-authority-data $(cat rancher.crt | base64 -i - | tr -d '\n') | ||
rm rancher.crt | ||
``` | ||
5. (可选项)如果你使用不受系统信任的自签名证书,则可以通过 kubectl 在 kubeconfig 中设置不安全选项: | ||
|
||
:::danger | ||
|
||
此选项不应该在生产环境中使用,因为它存在安全风险。 | ||
|
||
::: | ||
|
||
```bash | ||
export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG | ||
kubectl config set clusters.rancher.insecure-skip-tls-verify true | ||
``` | ||
|
||
如果你的 Rancher 实例由其他服务代理,你必须提取该服务正在使用的证书,并如上面演示的方法,将其添加到 kubeconfig 文件中。 |
Oops, something went wrong.