K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce

Objetivo: devuser usuario espacio de nombres es sólo bajo los recursos dev tienen autorización para operar

En primer lugar, los ajustes de configuración básica
1, en primer lugar crear un usuario devuser useradd, y cambiar las contraseñas:
Uso de comandos de ejecución devuser vaina kubectl get no tendrán éxito, porque devuser ahora no tienen permisos a los recursos en cualquier espacio de nombres
2, crear un espacio de nombres dev de
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
dos , la generación de archivos de configuración K8S
1, crear un archivo JSON usado para generar claves
/k8s/cert/devuser.json gato
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce

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

2, obteniendo el archivo de comandos de generación de claves:
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
especificar el archivo de clave, genera la clave (este paso se lleva a cabo con el fin medida de lo posible en / etc / kubernetes / PKI camino porque este camino es en sí relacionado con los K8S almacenamiento de autenticación archivo)
cfssl la gencert-ca-ca-= ca.crt clave = ca.key -profile = Kubernetes /k8s/cert/devuser.json | cfssljson -bare devuser
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
ejecución se ha completado, el archivo de clave ha sido devuser

K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
Declaración sobre variable de entorno apiserver:
Exportación KUBE_APISERVER = " https://10.18.6.127:6443 "
3, juego de parámetros de clúster:

[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 crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
4, establezca los parámetros de autenticación de cliente:

[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, parámetro de contexto conjunto

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

6, un papel vinculante RoleBinding

kubectl crear rolebinding devuser-admin-rolebinding (nombre rolebinding) --clusterrole = admin (nombre clusterrole, admin en virtud de K8S todo espacio de nombres tiene la máxima autoridad) user = devuser (el devuser privilegios de administrador de usuario determinado) - namespace = dev (dEV este intervalo de espacio de nombres), es decir dev

K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
7, devuser.kubeconfig copian en el directorio de /home/devuser/.kube

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

8, el cambio de contexto de usuario en dev
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
Ver pod no se les da los recursos, pero en el espacio de nombres actual dev no tiene un pod correr
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
usando devuser crear despliegue
K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
utilizando el usuario root para ver la información de la vaina, la vaina se encuentran bajo el espacio de nombres dev

K8S crear el usuario especificado sólo tiene permiso para operar en un recurso especificado namesapce
Descripción devuser de mando kubectl sólo tiene efecto sobre el espacio de nombres predeterminado dev sólo puede ser eficaz en el espacio de nombres dev

Esto está en el negocio de autoridad para el control o necesario

Supongo que te gusta

Origin blog.51cto.com/11954248/2481403
Recomendado
Clasificación