29 名词解释 PodPreset

PodPreset

PodPreset用来给指定标签的Pod注入额外的信息,如环境变量、存储卷等。这样,Pod模板就不需要为每个Pod都显式设置重复的信息。

开启PodPreset

  • 开启API settings.k8s.io/v1alpha1/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
apiVersion : v1
kind : Pod
metadata :
name : website
labels :
app : website
role : frontend
spec :
containers :
- name : website
image : ecorp / website
ports :
- containerPort : 80
经过准入控制PodPreset后,Pod会自动增加环境变量和存储卷
apiVersion : v1
kind : Pod
metadata :
name : website
labels :
app : website
role : frontend
annotations :
podpreset . admission . kubernetes . io / allow - database : "resource version"
spec :
containers :
- name : website
image : ecorp / website
volumeMounts :
- mountPath : / cache
name : cache - volume
ports :
- containerPort : 80
env :
- name : DB_PORT
value : "6379"
volumes :
- name : cache - volume
emptyDir : {}

ConfigMap示例

ConfigMap
apiVersion : v1
kind : ConfigMap
metadata :
name : etcd - env - config
data :
number_of_members : "1"
initial_cluster_state : new
initial_cluster_token : DUMMY_ETCD_INITIAL_CLUSTER_TOKEN
discovery_token : DUMMY_ETCD_DISCOVERY_TOKEN
discovery_url : http : //etcd_discovery:2379
etcdctl_peers : http : //etcd:2379
duplicate_key : FROM_CONFIG_MAP
REPLACE_ME : "a value"
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
- name : duplicate_key
value : FROM_ENV
- name : expansion
value : $ ( REPLACE_ME )
envFrom :
- configMapRef :
name : etcd - env - config
volumeMounts :
- mountPath : /cache
name: cache-volume
- mountPath: / etc / app / config . json
readOnly : true
name : secret - volume
volumes :
- name : cache - volume
emptyDir : {}
- name : secret - volume
secretName : config - details
用户提交的Pod
apiVersion : v1
kind : Pod
metadata :
name : website
labels :
app : website
role : frontend
spec :
containers :
- name : website
image : ecorp / website
ports :
- containerPort : 80
经过准入控制 PodPreset后,Pod会自动增加ConfigMap环境变量
apiVersion : v1
kind : Pod
metadata :
name : website
labels :
app : website
role : frontend
annotations :
podpreset . admission . kubernetes . io / allow - database : "resource version"
spec :
containers :
- name : website
image : ecorp / website
volumeMounts :
- mountPath : /cache
name: cache-volume
- mountPath: / etc / app / config . json
readOnly : true
name : secret - volume
ports :
- containerPort : 80
env :
- name : DB_PORT
value : "6379"
- name : duplicate_key
value : FROM_ENV
- name : expansion
value : $ ( REPLACE_ME )
envFrom :
- configMapRef :
name : etcd - env - config
volumes :
- name : cache - volume
emptyDir : {}
- name : secret - volume
secretName : config - details



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值