當前位置:
首頁 > 最新 > Secret 資源對象的使用

Secret 資源對象的使用

上節課我們學習了的使用,我們說這個資源對象是當中非常重要的一個對象,一般情況下是用來存儲一些非安全的配置信息,如果涉及到一些安全相關的數據的話用就非常不妥了,因為是明文存儲的,我們說這個時候我們就需要用到另外一個資源對象了:,用來保存敏感信息,例如密碼、OAuth 令牌和 ssh key等等,將這些信息放在中比放在的定義中或者鏡像中來說更加安全和靈活。

有三種類型:

Opaque:編碼格式的 Secret,用來存儲密碼、密鑰等;但數據也可以通過 base64 –decode解碼得到原始數據,所有加密性很弱。

kubernetes.io/dockerconfigjson:用來存儲私有的認證信息。

kubernetes.io/service-account-token:用於被引用,serviceaccout 創建時會默認創建對應的。如果使用了,對應的會自動掛載到目錄中。

Opaque Secret

Opaque 類型的數據是一個 map 類型,要求value是編碼格式,比如我們來創建一個用戶名為 admin,密碼為 admin321 的 Secret 對象,首先我們先把這用戶名和密碼做 base64 編碼,

然後我們就可以利用上面編碼過後的數據來編寫一個文件:(secret-demo.yaml)

然後同樣的我們就可以使用命令來創建了:

利用命令查看:

其中為創建集群時默認創建的 secret,被serviceacount/default 引用。

使用命令,查看詳情:

我們可以看到利用命令查看到的沒有直接顯示出來,如果想看到裡面的詳細信息,同樣我們可以輸出成文件進行查看:

創建好對象後,有兩種方式來使用它:

以環境變數的形式

以Volume的形式掛載

環境變數

首先我們來測試下環境變數的方式,同樣的,我們來使用一個簡單的鏡像來測試下:(secret1-pod.yaml)

主要上面環境變數中定義的關鍵字,和我們上節課的是不是比較類似,一個是從對象中獲取,一個是從對象中獲取,創建上面的:

然後我們查看的日誌輸出:

可以看到有 USERNAME 和 PASSWORD 兩個環境變數輸出出來。

Volume 掛載

同樣的我們用一個來驗證下掛載,創建一個文件:(secret2-pod.yaml)

創建:

然後我們查看輸出日誌:

可以看到把兩個key掛載成了兩個對應的文件。當然如果想要掛載到指定的文件上面,是不是也可以使用上一節課的方法:在下面添加指定 key 和 path,這個大家可以參考上節課中的方法去測試下。

kubernetes.io/dockerconfigjson

除了上面的這種類型外,我們還可以來創建用戶認證的,直接使用命令創建即可,如下:

然後查看列表:

注意看上面的類型,是不是對應的,同樣的可以使用命令來查看詳細信息:

同樣的可以看到區域沒有直接展示出來,如果想查看的話可以使用來輸出展示出來:

可以把上面的下面的數據做一個解碼,看看裡面的數據是怎樣的呢?

如果我們需要拉取私有倉庫中的鏡像的話就需要使用到上面的這個:

我們需要拉取私有倉庫鏡像,我們就需要針對該私有倉庫來創建一個如上的,然後在的 YAML 文件中指定,我們會在後面的私有倉庫搭建的課程中跟大家詳細說明的。

kubernetes.io/service-account-token

另外一種類型就是,用於被引用。serviceaccout 創建時 Kubernetes 會默認創建對應的 secret。Pod 如果使用了 serviceaccount,對應的secret會自動掛載到Pod的目錄中。

這裡我們使用一個鏡像來驗證一下,大家想一想為什麼不是呀鏡像來驗證?當然也是可以的,但是我們就不能在裡面來驗證了,因為token是需要運行起來過後才會被掛載上去的,直接在命令中去查看肯定是還沒有 token 文件的。

Secret 與 ConfigMap 對比

最後我們來對比下和這兩種資源對象的異同點:

相同點:

key/value 的形式

屬於某個特定的

可以導出到環境變數

可以通過目錄/文件形式掛載

通過掛載的配置信息均可熱更新

不同點:

Secret 可以被關聯

Secret 可以存儲的鑒權信息,用在 參數中,用於拉取私有倉庫的鏡像

Secret 支持加密

Secret 分為 kubernetes.io/service-account-token、kubernetes.io/dockerconfigjson、Opaque 三種類型,而不區分類型


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 k8s技術圈 的精彩文章:

TAG:k8s技術圈 |