K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します

目標:devuserのユーザーの名前空間は、唯一のdevのリソースの下で作動する権限を持っています

まず、基本的な構成設定
1は、最初にdevuser useraddコマンド、ユーザー、および変更パスワードの作成:
devuserは今、任意の名前空間内のリソースへのアクセス権を持っていないため、使用devuserの実行をkubectl GETポッドコマンドは、成功しません
2の名前空間devの作成、
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
2を、K8S configファイルの生成
1、キーの生成に使用されるJSONファイルを作成
猫/k8s/cert/devuser.jsonを
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します

{
  "CN": "devuser",
  "hosts": [],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
     "C": "CN",
     "ST": "ShenZhen",
     "L": "ShenZhen",
     "O": "k8s",
     "OU": "System"
    }
]
}

図2に示すように、鍵生成コマンド・ファイルを取得する:
wgetのhttps://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wgetのhttps://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wgetのHTTPS:/ /pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
このパスは、認証記憶K8Sに関する自体であるので(このステップははるか下の/ etc / kubernetes / PKIパスできるだけ順序で実行されるキーを生成し、鍵ファイルを指定しますファイル)
cfssljson -bare devuser | gencertを-ca = ca.crt -ca-キー= ca.key -profile = Kubernetes /k8s/cert/devuser.json cfssl
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
実行が完了すると、キーファイルがされているdevuser

K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
apiserver環境変数に関する声明:
輸出KUBE_APISERVER =「https://10.18.6.127:6443
3、セットクラスタパラメータ:

[root@kb-master cert]# kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/pki/ca.crt \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=devuser.kubeconfig

K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
4、クライアント認証のパラメータを設定します。

[root@kb-master cert]# kubectl config set-credentials devuser \
--client-certificate=/etc/kubernetes/pki/devuser.pem  \
--client-key=/etc/kubernetes/pki/devuser-key.pem \
--embed-certs=true \
--kubeconfig=devuser.kubeconfig

5、コンテキストパラメータセット

[root@kb-master cert]# kubectl config set-context kubernetes \
--cluster=kubernetes \
--user=devuser \
--namespace=dev \
--kubeconfig=devuser.kubeconfig

6、バインディング役割RoleBinding

(すべての名前空間は最高の権威を持つK8S下clusterrole名、管理者)devuser管理者-rolebinding(rolebinding名)--clusterrole =管理者をrolebinding --user = devuser(devuser与えられた管理者ユーザー権限)を作成kubectl - ネームスペース= DEVすなわちDEV(この範囲名前空間をDEV)

K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
ディレクトリにコピー/home/devuser/.kube 7、devuser.kubeconfig

cp devuser.kubeconfig  /home/devuser/.kube/config
chown devuser.devuser devuser.kubeconfig

8、DEVユーザーコンテキストの切り替え
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
表示がリソースをポッドが与えられていないが、現在のdevの名前空間の下で任意のポッドが稼働していない
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
devuser展開を作成し使用して
K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
ビュー情報ポッドにrootユーザーを使用して、ポッドは、DEV名前空間の下にあります

K8Sは、指定されたユーザーのみが指定されたリソースな名前空間で動作する権限を持って作成します
kubectlコマンドの説明devuserは、名前空間のdevに有効であることができる唯一のdevのデフォルトの名前空間に有効になります

これは、制御したり、必要な権限のためのビジネスであります

おすすめ

転載: blog.51cto.com/11954248/2481403
おすすめ