diff --git a/tools/create-user/README.md b/tools/create-user/README.md new file mode 100644 index 000000000..fbc76aba5 --- /dev/null +++ b/tools/create-user/README.md @@ -0,0 +1,22 @@ +# 在kubernetes中创建用户并授予用户namespace的admin权限 + +使用`create-user.sh`脚本创建namespace和用户(同名),并将该namespace的admin权限授予该用户。 + +## 使用前提 + +使用该脚本需要满足以下前提: + +- 所有的证书文件都在`/etc/kubernetes/ssl`目录下 +- 执行该脚本的主机可以访问kubernetes集群,并用于最高管理员权限 + +## 使用方式 + +```bash +./create-user.sh +``` + +最后生成了`$username.kubeconfig`文件。 + +## 参考 + +[创建用户认证授权的kubeconfig文件](../../guide/kubectl-user-authentication-authorization.md) \ No newline at end of file diff --git a/tools/create-user/create-user.sh b/tools/create-user/create-user.sh new file mode 100755 index 000000000..7193d8d89 --- /dev/null +++ b/tools/create-user/create-user.sh @@ -0,0 +1,103 @@ +#!/bin/bash +# 每个对应一个namespace,用户名和namespace名称相同 +# 注意修改KUBE_APISERVER为你的API Server的地址 +KUBE_APISERVER=$1 +USER=$2 +USAGE="USAGE: create-user.sh \n +Example: https://172.22.1.1:6443 brand" +CSR=`pwd`/user-csr.json +SSL_PATH="/etc/kubernetes/ssl" +SSL_FILES=(ca-key.pem ca.pem ca-config.json) +CERT_FILES=(${USER}.csr $USER-key.pem ${USER}.pem) + +if [[ $KUBE_APISERVER == "" ]]; then + echo -e $USAGE + exit 1 +fi +if [[ $USER == "" ]];then + echo -e $USAGE + exit 1 +fi + +# 创建用户的csr文件 +function createCSR(){ +cat>$CSR<