美文网首页
简单的k8s RBAC —(permission-manager

简单的k8s RBAC —(permission-manager

作者: 杨家小七 | 来源:发表于2020-08-26 08:47 被阅读0次


    简单记录安装配置permission-manager的过程。permission-manager 是sighupio公司开源的很新的一个用于 Kubernetes RBAC 和 用户管理工具。项目地址:https://github.com/sighupio/permission-manager

    permission-manager部署

    部署依赖

    #拉取项目到本地
    $ git clone https://github.com/sighupio/permission-manager
    
    #部署依赖
    $ cd permission-manager/
    $ vim k8s/k8s-seeds/auth-secret.yml #修改密码 可忽略。此项目的密码是用的stringDate设置的明文密码。也可以用data设置base64加密的密码
    apiVersion: v1
    kind: Secret
    metadata:
      name: auth-password-secret
      namespace: permission-manager
    type: Opaque
    stringData:
      password: admin000
    $ kubectl apply -f k8s/k8s-seeds/namespace.yml
    $ kubectl apply -f k8s/k8s-seeds
    

    编辑k8s/deploy.yaml以设置环境变量

    ENV名称 描述
    PORT 服务器暴露的端口
    CLUSTER_NAME 在生成的kubeconfig文件中使用的集群名称
    CONTROL_PLANE_ADDRESS 在生成的kubeconfig文件中使用的kube-apiserver的地址
    BASIC_AUTH_PASSWORD 基本身份验证使用的密码(用户名为admin)
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: permission-manager
      name: permission-manager-deployment
      labels:
        app: permission-manager
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: permission-manager
      template:
        metadata:
          labels:
            app: permission-manager
        spec:
          serviceAccountName: permission-manager-service-account
          containers:
            - name: permission-manager
              image: quay.io/sighup/permission-manager:1.5.0
              ports:
                - containerPort: 4000
              env:
                - name: PORT
                  value: "4000"
                - name: CLUSTER_NAME
                  value: "cluster1"
                - name: CONTROL_PLANE_ADDRESS
                  value: "https://172.16.77.40:6443"
                - name: BASIC_AUTH_PASSWORD
                  valueFrom:
                    secretKeyRef:
                      name: auth-password-secret
                      key: password
    
    ---
    apiVersion: v1
    kind: Service
    metadata:
      namespace: permission-manager
      name: permission-manager-service
    spec:
      selector:
        app: permission-manager
      type: NodePort
      ports:
        - protocol: TCP
          port: 4000
          targetPort: 4000
          nodePort: 30180
    
    • 除了修改对应ENV变量,此处还将service改为了NodePort方式。设置了暴露的端口为30180

    部署

    $ kubectl apply -f k8s/deploy.yaml
    

    WEB UI展示

    官方图片

    <center>官方演示</center>

    使用

    访问:172.16.77.40:30180

    • 首页

    • 创建用户设置权限

    • 点击show kubeconfig for test查看kubeconfig文件

    将此内容写入到~/.kube/config中即可

    参考链接

    官方文档

    相关文章

      网友评论

          本文标题:简单的k8s RBAC —(permission-manager

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