美文网首页
kubernetes使用RBAC验证方式加入TiOps

kubernetes使用RBAC验证方式加入TiOps

作者: 紫微圣君 | 来源:发表于2020-06-29 19:26 被阅读0次

    kubernetes的RBAC功能在1.5版本时,虽然还不是稳定版本,但是已经可以使用了。
    一、kubernetes创建RBAC所用Token
    使用方式:
    创建一个ServiceAccount,然后使用ServiceAccount绑定一个集群角色即可。
    1、创建ServiceAccount

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: ServiceAccount名字
      namespace: default
    

    2、绑定ClusterRole
    由于1.5时的版本,RBAC不是稳定的,所以是v1alpha1版本。
    1)1.5绑定ClusterRole

    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1alpha1
    metadata:
      name: ClusterRoleBinding名字
    subjects:
      - kind: ServiceAccount
        name: ServiceAccount名字
        namespace: default
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    

    2)更高级别版本绑定ClusterRole

    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: ClusterRoleBinding名字
    subjects:
      - kind: ServiceAccount
        name: ServiceAccount名字
        namespace: default
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    

    3、1.5版本完整举例:

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: tiops
      namespace: default
    ---
    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1alpha1
    metadata:
      name: tiopscrb
    subjects:
      - kind: ServiceAccount
        name: tiops
        namespace: default
    roleRef:
      kind: ClusterRole
      name: cluster-admin
      apiGroup: rbac.authorization.k8s.io
    

    4、把上面的内容写进一个文件(假设叫tiops.yml)中,然后执行以下命令

    kubectl create -f "tiops.yml"
    
    image.png

    5、就会创建一个名为tiops的ServiceAccount


    image.png

    6、同时会创建一个相关联的Secret


    image.png

    7、根据Secret查看Token


    image.png

    二、TiOps添加Kubernetes
    1、点击TiOps的云账号页面


    image.png

    2、添加kubernetes云账号


    image.png

    如上图所示,为TiOps添加kubernetes的功能,点击确定即可添加。
    备注:
    1)私有云账号:账号名,可以取你任意想取的名字;
    2)云平台地址:分为两个部分,路径以及端口号;路径前必须添加http或https,端口号一般为6443、8080等;
    3)BearerToken:为标题一中我们获取的token(kubernetes创建RBAC所用Token);
    4)MasterIp:kubernets的主控机ip,TiOps需要能够连接它;
    5)容器版本:容器的版本,目前只支持1.5至1.18;

    3、添加成功


    image.png

    成功后,该页面会显示出来!

    三、使用TiOps的Kubernetes
    1、云账号下的容器页面


    image.png

    2、操作容器


    image.png

    就可以在该页面操控Kubernetes了。

    备注:
    kubernetes1.5的版本不是默认开启RBAC的,下面说明kubernetes1.5怎么开启RBAC!

    一、生成私钥
    1、修改apiserver启动方式

    vim /etc/kubernetes/apiserver
    KUBE_ADMISSION_CONTROL="--admission-control=ServiceAccount"
    

    默认安装的已经有如下参数了,不用再修改了!

    KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"
    

    2、生成serviceaccount.key

    openssl genrsa -out /etc/kubernetes/serviceaccount.key 2048
    

    3、配置并重启controller-manager

    vi /etc/kubernetes/controller-manager
    KUBE_CONTROLLER_MANAGER_ARGS="--service-account-private-key-file=/etc/kubernetes/serviceaccount.key"
    
    systemctl restart kube-controller-manager
    

    二、根据私钥生成公钥并写到apiserver中
    1、根据私钥生成公钥

    openssl rsa -in /etc/kubernetes/serviceaccount.key -pubout -out /etc/kubernetes/serviceaccount_pub.key
    

    2、apiserver配置文件中配置

    vim /etc/kubernetes/apiserver
    KUBE_API_ARGS=" --authorization-mode=RBAC  --service-account-key-file=/etc/kubernetes/serviceaccount_pub.key "
    
    systemctl restart kube-apiserver
    

    相关文章

      网友评论

          本文标题:kubernetes使用RBAC验证方式加入TiOps

          本文链接:https://www.haomeiwen.com/subject/ixqwfktx.html