k8s環境變數中敏感資訊會帶來的安全隱患
方法1:資源配置清單建立
configmap,通常用來管理應用的配置檔案或者環境變數,myblog/two-pod/configmap.yaml
apiversion: v1
kind: configmap
metadata:
name: myblog
namespace: luffy
data:
mysql_host: "192.168.136.11"
mysql_port: "3306"
方法2:命令列建立
kubectl create configmap myblog --from-env-file=configmap.txt
secret,管理敏感類的資訊,缺省會base64編碼儲存,有三種型別apiversion: v1
kind: secret
metadata:
name: myblog
namespace: luffy
type: opaque
data:
mysql_user: cm9vda== #注意加-n引數, echo -n root|base64
mysql_passwd: mtizndu2
也可以通過下面的方式:
$ cat secret.txt
mysql_user=root
mysql_passwd=123456
$ kubectl -n luffy create secret generic myblog --from-env-file=secret.txt
命令列模式:
建立harbor拉取
kubectl create secret docker-registry registry-harbor --docker-server=harbor.dinghc.com --docker-username=admin --docker-password=123456 -n kube-system
建立tls
kubectl create secret tls traefik-cert --key /ssl/intra.sheca.com.key --cert /ssl/intra.sheca.com.cer -n uat
在部署不同的環境時,pod的yaml無須再變化,只需要在每套環境中維護一套configmap和secret即可。但是注意configmap和secret不能跨namespace使用,且更新後,pod內的env不會自動更新,重建後方可更新。
如何編寫資源yaml
拿來主義,從機器中已有的資源中拿
$ kubectl -n kube-system get po,deployment,ds
學會在官網查詢,
從kubernetes-api文件中查詢,
kubectl explain 檢視具體字段含義
###### pod狀態與生命週期
pod的狀態如下表所示:
k8s資源清單
自主式的pod無法自癒 編輯檔案vim pod.yaml apiversion v1 指定api的版本 kind pod 檔案自定義的資源型別和角色,控制器型別 metadata 元資料物件 name demo 命名空間 labels 標籤 spec 固定物件容器的控制 containers nam...
k8s資源清單定義入門
1.資源分類 a.workload型資源 service pod deployment replicaset statefulset job cronjob b.服務發現及服務均衡資源型資源 service ingress c.配置與儲存型資源 volume configmap secret dow...
k8s資源限制
注 以下只是在yaml檔案中進行資源限制的乙個片段,並不是完整的yaml檔案,僅是自己的乙個隨筆。root master limit vim cgroup pod.yaml spec containers name image ports protocol tcp containerport 80 ...