什麼是service account? 顧名思義,相對於user account(比如:kubectl訪問apiserver時用的就是user account),service account就是pod中的process用於訪問kubernetes api的account,它為pod中的process提供了一種身份標識。相比於user account的全域性性許可權,service account更適合一些輕量級的task,更聚焦於授權給某些特定pod中的process所使用。
service account作為一種resource存在於kubernetes cluster中,我們可以通過kubectl獲取當前cluster中的service acount列表:
kubectl get serviceaccount --all-namespaces
我們檢視一下kube-system namespace下名為」default」的service account的詳細資訊:
kubectl describe serviceaccount/default -n kube-system
我們看到service account並不複雜,只是關聯了乙個secret資源作為token,該token也叫service-account-token,該token才是真正在api server驗證(authentication)環節起作用的:
sa就像pod,secret,configmap一樣都是資源,作用在單獨的命名空間,為每個命名空間自動建立乙個預設的sa。
可以通過將不同的sa賦值給pod來控制每個pod可以訪問的資源。
api伺服器要求客戶端在伺服器上執行操作之前對自己進行身份認證,pod通過傳送/var/run/secret/kubernetes.io/serviceaccount/token檔案來進行身份認證。
每個pod都與乙個serviceaccount相關聯
k8s 多租戶 k8s 基礎介紹
備註 1 每乙個pod裡執行著乙個特殊的容器 pause容器,其他容器都是業務容器,這些業務容器共享pause容器的網路棧和volume 邏輯卷 掛載卷。因此他們之間的通訊和資料交換更為高效。2 k8s設計了pod物件,將每個服務程序包裝到相應的pod中,使其成為pod中執行的乙個容器 contai...
K8S基礎概念
node作為集群中的工作節點,執行真正的應用程式,在node上kubernetes管理的最小執行單元是pod。node上執行著kubernetes的kubelet kube proxy服務程序,這些服務程序負責pod的建立 啟動 監控 重啟 銷毀 以及實現軟體模式的負載均衡。node包含的資訊 no...
K8S基礎概念
node作為集群中的工作節點,執行真正的應用程式,在node上kubernetes管理的最小執行單元是pod。node上執行著kubernetes的kubelet kube proxy服務程序,這些服務程序負責pod的建立 啟動 監控 重啟 銷毀 以及實現軟體模式的負載均衡。node包含的資訊 no...