From af4a9c3783c609bbf83e89be13ff5e5fa824d48b Mon Sep 17 00:00:00 2001 From: Mengjiao Liu Date: Wed, 23 Jun 2021 11:22:01 +0800 Subject: [PATCH] [zh] sync certificate-signing-requests --- .../certificate-signing-requests.md | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/content/zh/docs/reference/access-authn-authz/certificate-signing-requests.md b/content/zh/docs/reference/access-authn-authz/certificate-signing-requests.md index 2663bf357a..e9d5e62c65 100644 --- a/content/zh/docs/reference/access-authn-authz/certificate-signing-requests.md +++ b/content/zh/docs/reference/access-authn-authz/certificate-signing-requests.md @@ -126,12 +126,13 @@ state for some duration: ## 签名者 {#signers} +也可以指定自定义 signerName。 所有签名者都应该提供自己工作方式的信息, 以便客户端可以预期到他们的 CSR 将发生什么。 此类信息包括: @@ -423,8 +424,8 @@ O is the group that this user will belong to. You can refer to 你可以参考 [RBAC](/zh/docs/reference/access-authn-authz/rbac/) 了解标准组的信息。 ```shell -openssl genrsa -out john.key 2048 -openssl req -new -key john.key -out john.csr +openssl genrsa -out myuser.key 2048 +openssl req -new -key myuser.key -out myuser.csr ``` 需要注意的几点: - `usage` 字段必须是 '`client auth`' - `request` 字段是 CSR 文件内容的 base64 编码值。 - 要得到该值,可以执行命令 `cat john.csr | base64 | tr -d "\n"`。 + 要得到该值,可以执行命令 `cat myuser.csr | base64 | tr -d "\n"`。 证书的内容使用 base64 编码,存放在字段 `status.certificate`。 +从 CertificateSigningRequest 导出颁发的证书。 + +``` +kubectl get csr myuser -o jsonpath='{.status.certificate}'| base64 -d > myuser.crt +``` + @@ -555,7 +564,7 @@ First, we need to add new credentials: 首先,我们需要添加新的凭据: ```shell -kubectl config set-credentials john --client-key=/home/vagrant/work/john.key --client-certificate=/home/vagrant/work/john.crt --embed-certs=true +kubectl config set-credentials myuser --client-key=myuser.key --client-certificate=myuser.crt --embed-certs=true ``` @@ -565,16 +574,16 @@ Then, you need to add the context: 然后,你需要添加上下文: ```shell -kubectl config set-context john --cluster=kubernetes --user=john +kubectl config set-context myuser --cluster=kubernetes --user=myuser ``` -来测试一下,把上下文切换为 `john`: +来测试一下,把上下文切换为 `myuser`: ```shell -kubectl config use-context john +kubectl config use-context myuser ``` `status.conditions.reason` 字段通常设置为一个首字母大写的对机器友好的原因码; 这是一个命名约定,但你也可以随你的个人喜好设置。 -如果你想添加一个仅供人类使用的注释,那就用 `status.conditions.message` 字段。 +如果你想添加一个供人类使用的注释,那就用 `status.conditions.message` 字段。