簡單的k8s RBAC —(permission-manager)


簡單記錄安裝配置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設(shè)置的明文密碼。也可以用data設(shè)置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以設(shè)置環(huán)境變量

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方式。設(shè)置了暴露的端口為30180

部署

$ kubectl apply -f k8s/deploy.yaml

WEB UI展示

官方圖片

<center>官方演示</center>

使用

訪問:172.16.77.40:30180

  • 首頁

  • 創(chuàng)建用戶設(shè)置權(quán)限

  • 點擊show kubeconfig for test查看kubeconfig文件

將此內(nèi)容寫入到~/.kube/config中即可

參考鏈接

官方文檔

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容