k8s中基于rbac获取管理员信息

本文介绍了如何在Kubernetes(k8s)环境中基于RBAC获取超级管理员配置文件,包括创建admin-csr.json,签发证书,设置kubeconfig,以及通过用户和角色绑定创建ClusterRoleBinding。这一过程对于后续使用Jenkins部署微服务至关重要。
摘要由CSDN通过智能技术生成

k8s中基于rbac获取管理员配置信息

目的

  1. 基于二进制部署的k8s获取超级管理员的配置文件,然后基于jenkins部署微服务

操作实践

  1. 签发证书

    1. 创建admin-csr.json文件,如有疑问可参考之前的文章

      {
          "CN": "admin",
          "hosts": [],
          "key": {
              "algo": "rsa",
              "size": 2048
          },
          "names": [
              {
                  "C": "CN",
                  "ST": "beijing",
                  "L": "beijing",
                  "O": "od",
                  "OU": "ops"
              }
          ]
      }
      
    2. 执行命令: cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=peer admin-csr.json | cfssl-json -bare admin

  2. 在/root/.kube生成config文件

    export KUBE_APISERVER="https://192.168.0.201:7443"  # 指向前端反代地址
    kubectl config set-cluster kubernetes   --certificate-authority=/opt/kubernetes/ssl/ca.pem   --embed-certs=true   --server=${KUBE_APISERVER}
    kubectl config set-credentials admin   --client-certificate=/opt/kubernetes/ssl/admin.pem   --embed-certs=true   --client-key=/opt/kubernetes/ssl/admin-key.pem
    kubectl config set-context kubernetes   --cluster=kubernetes   --user=admin
    kubectl config use-context kubernetes
    kubectl config use-context myk8s-context --kubeconfig=kubelet.kubeconfig
    
  3. 用户和角色进行绑定,rbac-admin.yaml

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: admin
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: cluster-admin
    subjects:
    - apiGroup: rbac.authorization.k8s.io
      kind: User
      name: admin
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值