PodPreset
PodPreset 用來給指定標籤的 Pod 注入額外的信息,如環境變量、存儲卷等。這樣,Pod 模板就不需要爲每個 Pod 都顯式設置重複的信息。
當然,你也可以給 Pod 增加註解 podpreset.admission.kubernetes.io/exclude: "true" 來避免它們被 PodPreset 修改。
API 版本對照表
Kubernetes 版本
API 版本
默認開啓
v1.6+
settings.k8s.io/v1alpha1
否
開啓 PodPreset
開啓 API
kube-apiserver --runtime-config=settings.k8s.io/v1alpha1=true開啓准入控制
--enable-admission-plugins=..,PodPreset
PodPreset 示例
增加環境變量和存儲卷的 PodPreset
kind: PodPreset
apiVersion: settings.k8s.io/v1alpha1
metadata:
name: allow-database
namespace: myns
spec:
selector:
matchLabels:
role: frontend
env:
- name: DB_PORT
value: "6379"
volumeMounts:
- mountPath: /cache
name: cache-volume
volumes:
- name: cache-volume
emptyDir: {}用戶提交 Pod
經過准入控制 PodPreset 後,Pod 會自動增加環境變量和存儲卷
ConfigMap 示例
ConfigMap
PodPreset
用戶提交的 Pod
經過准入控制 PodPreset 後,Pod 會自動增加 ConfigMap 環境變量
修改 Pod 時區示例
下面的示例會把帶有標籤 tz: shanghai的所有Pod都自動改成上海時區:
Last updated