首页 > 其他分享 >Kubernetes添加用户

Kubernetes添加用户

时间:2023-06-26 17:56:24浏览次数:46  
标签:kubectl name Kubernetes -- 用户 system 添加 18d tom

kubernetes中有两种用户, 一种是service account, 另一种是普通用户

Service Account 认证

从1.24开始, 创建service account的同时不再创建secret

apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubepi-user
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubepi-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: kubepi-user
    namespace: kube-system

创建完成SA和ClusterRoleBinding 后, 执行以下命令创建token

kubectl create token kubepi-user -n kube-system

测试token能正常使用

➜ root@localhost  ~  kubectl --token=eyJhbGciOiJSUzI1NiIsImtpZCI6IndVZzRLV1FWelg0Qk01dnVFNFF2Q3VvMzAwWnNOY0VpVXNpUmdycng1TDgifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiLCJrM3MiXSwiZXhwIjoxNjg3NzcyNTY2LCJpYXQiOjE2ODc3Njg5NjYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJrdWJlcGktdXNlciIsInVpZCI6ImE1Y2RiYjBjLTM2NWYtNGNmNC1hODlhLWMxYTdlMDcxMDNjNyJ9fSwibmJmIjoxNjg3NzY4OTY2LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZS1zeXN0ZW06a3ViZXBpLXVzZXIifQ.Z6HPT6gUJmOaZ9u92tZIiDz1fLcpeFCFfo7sqBcXsdZUnZLMJZoio_WCYUBArzRFc9rQaJ93E6lfFNnZbM7ZuM-O31m4Pb6iGqGxCbAyJJUPfeYvufvoohYNVX_jDWAYls8bLIYqiuPGwuosYS97GmT-MZwbtt2mDb8BkMQTK4GAg8vhxLImdBRTcUuvJaSIijkqoQiXqb9_QGz_UKJf-Ou_W5Aq-LGShh0wMXI6ZO-vYpz3-829yD8G4bfpY9XFT5HlLXFNUmkguf1JilnIAOulBpeb-UsnxLfZsbjx3Rq7sPI8E09R8MwgZCX2PlfYj7NjrLymSKnN0hPgJBP13A get pods --server https://localhost:6443 --insecure-skip-tls-verify=true -A
NAMESPACE     NAME                                      READY   STATUS    RESTARTS      AGE
kube-system   local-path-provisioner-69dff9496c-fbgsn   1/1     Running   1 (18d ago)   18d
kube-system   coredns-8b9777675-4rd6h                   1/1     Running   2 (18d ago)   18d
kube-system   metrics-server-5f9f776df5-m9zlm           1/1     Running   2 (18d ago)   18d
kube-system   nvidia-device-plugin-daemonset-hgwd5      1/1     Running   0             18d

普通用户使用证书认证

# 创建私钥
openssl genrsa -out tom.key 2048
# 创建csr文件
openssl req -new -key tom.key -out tom.csr -subj "/CN=tom/O=MGM"
# 通过k8s的CA证书文件, 为用户颁发证书, 如果用的是k3s, 证书和证书的私钥可以照抄
openssl x509 -req -in tom.csr -CA /var/lib/rancher/k3s/server/tls/client-ca.crt -CAkey /var/lib/rancher/k3s/server/tls/client-ca.key -CAcreateserial -out tom.crt -days 3650

创建clusterrobebinding的yaml

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tom-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: User
    name: tom
    apiGroup: rbac.authorization.k8s.io
kubectl apply -f crb.yaml
# 创建用户
kubectl config set-credentials tom --client-certificate=tom.crt --client-key=tom.key
# 创建context 配置, 不知道cluster填啥可以执行kubectl config get-clusters查看
kubectl config set-context tom@local --cluster=default --user=tom
# 激活新建的context
kubectl config use-context tom@local

标签:kubectl,name,Kubernetes,--,用户,system,添加,18d,tom
From: https://www.cnblogs.com/Chinori/p/17506348.html

相关文章

  • 在VScode中,文件自动添加头部注释-插件koroFileHeader配置
    1、扩展商店,搜索koroFileHeader进行安装2、打开设置-搜索Fileheader-点击头部注释的setting.json文件3、可以在其中配置头部注释"fileheader.customMade":{"Author":"gitconfiguser.name",//作者//"Author":"gitconfiguser.name",//可以获......
  • Linux用户管理笔记1
    useradd创建用户命令: useraddwork    #创建名为work的一般用户以及用户所属组,用来日常完成工作的用户,普通用户下不能够新建普通用户。 useradd-rwork #创建名为work的系统用户以及所属组群,默认情况下不能登录服务器,只能去调用某个服务程序......
  • Kubernetes编程——通过命令行使用 API
    通过命令行使用API 长话短说,我们将使用以batchAPI组为例来讲cli相关的操作。 首先,需要在终端运行下面的命令:[root@localhost~]#kubectlproxy--port=8089Startingtoserveon127.0.0.1:8089这个命令把kubernetesAPI服务代理到了本地,并处理了有关身......
  • tomcat配置用户角色权限
    tomcat用户角色权限配置文件为:tomcat/conf/tomcat-user.xml默认未开启用户配置如下:<tomcat-users><!--NOTE:Bydefault,nouserisincludedinthe"manager-gui"rolerequiredtooperatethe"/manager/html"webapplication.Ifyouwishtouse......
  • centos添加服务
    一、添加服务启动脚本#!/bin/bashexportJAVA_HOME=/usr/java/jdk1.8.0_201exportPATH=$JAVA_HOME/bin:$PATH#注意,这里的文件都必须是绝对路径nohupjava-jar/luban/app/deploy/deploy-0.0.1-SNAPSHOT.war>/luban/app/deploy/nohup.out&echo"启动完成"二、添......
  • flask中添加路由的方式
    在Flask中,添加路由有两种方式:(一般情况下都是用第一种方式)方式一:常见的装饰器模式@app.route("/")defindex():return"HelloWorld"方式二:通过阅读装饰器模式添加路由的源码发现 defroute(self,rule,**options):"""Adecoratorthatisusedtoregistera......
  • 通过网关添加过滤器【SpringCloud】
    spring:application:name:gateway#服务名称cloud:nacos:server-addr:localhost:8848#nacos地址gateway:routes:#网关路由配置-id:itemservice#路由id,自定义,只要唯一即可#uri:http://127.0.0.1:8081#路由......
  • 巧用AJAX的BEFORESEND 提高用户体验,避免重复数据
    https://www.cnblogs.com/lshbk/p/10930679.htmljQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。具体可参考jQuery官方文档:http://api.jquery.com/Ajax_Events/$.ajax({beforeSend:function(){//H......
  • win32k.sys 是 Windows 操作系统中的一个系统文件,它是负责管理图形操作、窗口绘制和用
    win32k.sys是Windows操作系统中的一个系统文件,它是负责管理图形操作、窗口绘制和用户界面的部分。这个文件位于C:\Windows\System32\drivers\文件夹中。win32k.sys文件是一个核心的系统文件,它在系统启动时加载到内存中,并为应用程序提供图形和窗口管理的支持。它通过与硬件......
  • Nginx反向代理&记录用户IP地址企业案例
    反向代理机器节点:lb0110.0.0.30#lb01是反向代理服务器(包括负载均衡的功能)www0110.0.0.40www0210.0.0.50【演示反向代理功能】 图片解读:使用客户端机器www01,访问负载均衡lb01(反向代理),看到了www01,www02页面信息在www01服务器上检测客户端信息,发现请求是10.0.0.3......