K8S容器时区自动配置

k8s中使用PodPreset进行时区配置。
基本原理是使用环境变量和localtime的重映射实现。配合PodPreset自动注入功能实现时区的自动配置。

apiVersion: settings.k8s.io/v1alpha1
kind: PodPreset
metadata:
  name: allow-localtime
  namespace: report-project
spec:
  selector:
    matchLabels:
  env:
    - name: TZ
      value: Asia/Shanghai
  volumeMounts:
    - mountPath: /etc/localtime
      name: localtime
  volumes:
    - name: localtime
      hostPath:
        path: etc/localtime

注意PodPreset是基于namespace自动注入的,需要根据自己的需要修改上面的namespace。

开启PodPreset的方法

还没有正式发布,需要手工打开。
打开 /etc/kubernetes/manifests/kube-apiserver.yaml 文件
修改以下两行

--enable-admission-plugins=NodeRestriction,PodPreset
--runtime-config=settings.k8s.io/v1alpha1=true

执行以下命令让配置生效

systemctl restart kubelet
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。