|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
RK-API 快速入门指南
您可以通过 Kubernetes API 访问 Rancher 的资源。本指南帮助您作为 Rancher 用户开始使用此 API。
-
在左上角,点击 ☰ > 全局设置。
-
找到并复制
server-url字段中的地址。 -
rancher-admin/users/settings/api-keys.adoc#_creating_an_api_key[创建]一个没有作用域的 Rancher API 密钥。
|
没有作用域的 Rancher API 密钥授予用户可以访问的所有资源的无限制访问权限。为了防止未经授权的使用,此密钥应安全存储并定期更换。 |
-
创建一个
kubeconfig.yaml文件。将$SERVER_URL替换为服务器 URL,将$API_KEY替换为您的 Rancher API 密钥: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。有关快速演示,请参见 kubectl 示例。
有关处理更复杂证书设置的更多信息,请参见 指定 CA 证书。
有关可用 kubeconfig 选项的更多信息,请参见 上游文档。
API kubectl 示例
在此示例中,我们将展示如何使用 kubectl 创建一个项目,然后删除它。有关其他可用 Rancher 资源的列表,请参阅 API 参考 页面。
|
目前,并非所有 Rancher 资源都可以通过 Rancher Kubernetes API 访问。 |
-
将您的 KUBECONFIG 环境变量设置为您刚刚创建的 kubeconfig 文件:
export KUBECONFIG=$(pwd)/kubeconfig.yaml
-
使用
kubectl explain查看项目的可用字段或资源的复杂子字段:
kubectl explain projects
kubectl explain projects.spec
并非所有资源都可能具有详细输出。
-
在名为
project.yaml的文件中添加以下内容:
apiVersion: management.cattle.io/v3
kind: Project
metadata:
# name should be unique across all projects in every cluster
name: p-abc123
# generateName can be used instead of `name` to randomly generate a name.
# generateName: p-
# namespace should match spec.ClusterName.
namespace: local
spec:
# clusterName should match `metadata.Name` of the target cluster.
clusterName: local
description: Example Project
# displayName is the human-readable name and is visible from the UI.
displayName: Example
-
创建项目:
kubectl create -f project.yaml
-
删除项目:
删除项目的方式取决于您创建项目名称的方式。
A。如果您在创建项目时使用了 name:
```bash kubectl delete -f project.yaml ```
B。如果您使用了`generateName`:
Replace `$PROJECT_NAME` with the randomly generated name of the project displayed by Kubectl after you created the project. ```bash kubectl delete project $PROJECT_NAME -n local ```
指定CA证书
为了确保您的工具能够识别Rancher的CA证书,大多数设置需要对上述模板进行额外修改。
-
在左上角,点击 ☰ > 全局设置。
-
找到并复制
ca-certs字段中的值。 -
将该值保存在名为
rancher.crt的文件中。
如果您的Rancher实例被其他服务代理,您必须提取该服务使用的证书,并将其添加到kubeconfig文件中,如第5步所示。 |
-
以下命令将`rancher.crt`转换为base64输出,去除所有换行,并使用证书更新kubeconfig中的集群,最后删除`rancher.crt`文件:
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
-
(可选)如果您使用的是系统不信任的自签名证书,可以在kubeconfig中使用kubectl设置不安全选项:
|
此选项不应在生产环境中使用,因为它存在安全风险。 |
export KUBECONFIG=$PATH_TO_RANCHER_KUBECONFIG
kubectl config set clusters.rancher.insecure-skip-tls-verify true
如果您的Rancher实例被其他服务代理,您必须提取该服务使用的证书,并将其添加到kubeconfig文件中,如上所示。