天天看點

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

StorageClass:pvc申請pv是不針對pv針對存儲類,尚未做成pv的存儲空間做的分類

PV動态供給:存儲叢集向外提供restfull接口,當k8s需要申請pv時調用此接口,去存儲叢集裡劃分出指定的空間

                       之後在建立pv、pvc綁定

configMap

一:特殊類型的儲存卷,目的不是給pod提供存儲空間來用,而是給我們的管理者或者使用者提供了從叢集外部向pod内部的應用注入配置資訊的方式

二:動态修改

三:兩種注入方式實作

1、env   pod啟動時可以把configMap資源關聯到目前pod中來,讀一個資料傳遞給pod内容器的一個變量,變量注入的方式給容器傳遞配置資訊

2、把每一個configMap當做一個存儲卷,挂載到容器裡邊的某個目錄上,這個目錄恰好是應用程式讀取配置的檔案目錄

四:configMap明文存資料

secre:

            跟configMap一樣隻不過不是明文存資料,是用base64加密

配置容器化應用的方式:

   1、自定義指令行參數;

             agrs: []

    2、把配置檔案直接嵌到鏡像

    3、環境變量

              (1)Cloud Native的應用程式一般可直接通過環境變量加載配置

              (2)通過entrypoint腳本來預處理變量為配置檔案中的配置資訊

    4、存儲卷(也可用configMap這種特殊的存儲卷)

建立configMap

主要作用讓配置檔案從鏡像中解耦,增強應用的可移植性以及應用的可服用性

第一種方式:kubectl create configmap nginx-config --from-literal=nginx_port=8080 --from-literal=server_name=myapp.haha.com

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

第二種方式:

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

建立pod通過env的方式引用configmap

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

執行

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

#printenv

即可檢視變量

改cm

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

查詢pod的環境變量并未改變,是以變量注入這種方式隻在系統啟動時有效,存儲卷是可以實時更新的

通過挂載存儲卷的方式引用configmap

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

驗證

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

此時修改會同步

案例

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

secret

也是鍵值對,證書、私鑰、密碼都通過secret

有三種類型:

           1、generic 儲存通用資料(mysql的密碼)

           2、tls儲存私鑰和證書

           3、docker-registry儲存docker認證資訊(由kubelet認證通路私有廠庫 )

手動建立secret

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

第一種擷取方式:變量注入的方式

k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret
k8s系列(十一:執行個體)PV動态供給,configMap,secretsecre:建立pod通過env的方式引用configmap通過挂載存儲卷的方式引用configmap案例secret

以環境變量注入的方式會以明文顯示

第二種擷取方式:挂載存儲卷

k8s