一:设置PodPreset
1. PodPreset 的作用
将一些公用的参数设置到pod中去,例如 时区统一设置为东八区等
2. API Server 开启PodPreset
- 编辑文件 /etc/kubernetes/manifests/kube-apiserver.yaml,
- 添加 --runtime-config=settings.k8s.io/v1alpha1=true,
- 添加 --admission-control=PodPreset(新版本是--enable-admission-plugins)
- 重启kubelet服务,sudo systemctl restart kubelet
3. 部署统一时区的PodPreset
yaml文件如下:
apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
name: setting-timezone
spec:
selector:
matchLabels:
env:
- name: TZ
value: Asia/Shanghai
其中 selector、matchLabels是必须的,不写任何的值就代表全局启用。
4. 禁用PodPreset
在一些情况下,用户不希望 Pod 被 Pod Preset 所改动,这时,用户可以在 Pod spec 中添加形如 podpreset.admission.kubernetes.io/exclude: "true" 的注解。
二:在Pod或Deployment 的 containers 下添加环境变量
containers:
env:
- name: TZ
value: Asia/Shanghai
三:在dockerFile中配置:
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone